Как я могу составить два контейнера в одном - PullRequest
0 голосов
/ 23 октября 2018

Если я иду в контейнер

sudo docker-compose exec web bash

Я получаю php7.2 в моем Linux-докере с apache2

Если я иду в контейнер

sudo docker-compose exec lets bash

Я получаю ssl сертификаты :)) Но как я могу получить и сертификаты и apache2 с php7.2 в одной среде Вот мой код Пожалуйста, посмотрите и дайте мне ответ Большое спасибо за вашу помощь

version: '2'

services:

 web:
   build: ./web
   environment:
      - APACHE_RUN_USER=#1000
   volumes:
      - ${APP_PATH_HOST}:${APP_PATH_CONTAINER}
   ports:
      - 8090:80
   working_dir: ${APP_PATH_CONTAINER}
   tty: true

 lets:
  build: ./lets
  hostname: www.some.domain.in.ua
  restart: always
  volumes_from:
    - letsencryptstore 
  ports:
    - "80:80"
    - "443:443"
  environment:
    LETS_ENCRYPT_EMAIL: "imediasun@gmail.com"
    LETS_ENCRYPT_DOMAINS: "some.domain.in.ua,www.some.domain.in.ua"
  labels:
    io.enonic.backup.data: "/etc/letsencrypt,/var/lib/letsencrypt"
 letsencryptstore:
  image: busybox
  volumes:
    - "/etc/letsencrypt"
    - "/var/lib/letsencrypt"  

 db:
  image: "mysql:5.7"
  volumes:
     - ./db:/var/lib/mysql
  environment:
     MYSQL_ROOT_PASSWORD: password
     MYSQL_DATABASE: database
     MYSQL_USER: user
     MYSQL_PASSWORD: password
  ports:
     - 3306:3306

 phpmyadmin:
          image: phpmyadmin/phpmyadmin:latest
          environment:
             - PMA_HOST=db
             - PMA_USER=user
             - PMA_PASSWORD=password
          volumes:
             - /sessions
          ports:
             - 8080:80  


 composer:
        image: composer:1.6
        volumes:
            - ${APP_PATH_HOST}:${APP_PATH_CONTAINER}
        working_dir: ${APP_PATH_CONTAINER}
        command: composer install

Это файл Docker из каталога ./lets

FROM enoniccloud/apache2 as letsencrypt

MAINTAINER Erik Kaareng-Sunde <esu@enonic.com>

RUN rm /etc/apache2/sites-enabled/000-default.conf
RUN rm /etc/apache2/sites-enabled/default-ssl.conf

RUN apt-get update && apt-get -y install curl && apt-get clean
RUN curl -o /usr/local/bin/certbot-auto https://dl.eff.org/certbot-auto &&  \
  chmod +x /usr/local/bin/certbot-auto && \
  certbot-auto --os-packages-only -n


COPY index.html /var/www/html/index.html
COPY launcher.sh /usr/local/bin/launcher.sh
RUN chmod +x /usr/local/bin/launcher.sh

CMD /usr/local/bin/launcher.sh

Это файл Docker из каталога ./web

FROM php:7.2-apache as phprepo

RUN docker-php-ext-install \
    pdo_mysql \
    && a2enmod \
    rewrite

    RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
    COPY utils/000-default.conf /etc/apache2/sites-available/000-default.conf
    EXPOSE 80
    RUN ["apt-get", "update"]
    RUN ["apt-get", "install", "-y", "vim"]
    RUN ["apt-get", "install", "-y", "nano"]
    RUN ["apt-get", "install", "-y", "sudo"]

Также я вижу, что у меня конфликт в портах, мне нужно двапорты для веб-сервера 80 и 443

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...