docker-compose и развертывание - PullRequest
0 голосов
/ 04 июня 2018

Я использую Docker для разработки и у меня есть файл docker-compose.yml.Большинство служб (php, httpd, node, python) имеют локальные монтирования (тома) для файлов и конфигурации проекта.

Когда я развертываю свой проект, поскольку эти точки монтирования являются локальными, файлы там не будут существовать.удаленный хост.

В этом сценарии, каков наилучший подход для развертывания моего проекта?Есть ли рекомендации или рекомендации, которым я могу следовать?

Вот часть моего файла docker-compose.yml:

version: '2'

services:

php:
    build: ./src/docker/php/
    image: project-name/php
    expose:
        - 9000
    volumes:
        - ./httpd-api:/var/www
    working_dir: /var/www

httpd-api:
    image: httpd:2.4.29
    depends_on:
        - php
    ports:
        - 8080:80
    expose:
        - 80
    volumes:
        - ./httpd-api/httpd.conf:/usr/local/apache2/conf/httpd.conf
        - ./httpd-api/httpd-vhosts.conf:/usr/local/apache2/conf/extra/httpd-vhosts.conf
    volumes_from:
        - php

httpd-ng:
    image: httpd:2.4.29
    ports:
        - 80:80
    volumes:
        - ./httpd-ng/httpd.conf:/usr/local/apache2/conf/httpd.conf
        - ./httpd-ng/html/.htaccess:/usr/local/apache2/htdocs/.htaccess
        - ./angular/dist:/usr/local/apache2/htdocs

1 Ответ

0 голосов
/ 04 июня 2018

В этом случае вам необходимо обновить образ Docker, и вы можете добавить их, используя инструкцию COPY, к желаемой точке монтирования.

https://docs.docker.com/engine/reference/builder/#copy

  • Необходимо создать файл Dockerв каждом из ваших проектов
    • , а затем в отдельном Dockerfile COPY все необходимые файлы из контекста в новый создаваемый Docker-образ (docker-image-name можно установить через docker-compose.yml)
  • Обновите ваш docker-compose.yml для операций сборки.

И затем выполните ваш проект как --- docker-compose up --build

https://docs.docker.com/compose/compose-file/

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