У меня есть установка docker-compose для разработки, и мне нужно реплицировать тот же файл для производства или постановки.
В настоящее время, помимо volumes, ports и environment, я не совсем уверен, какие настройки «может потребоваться» изменить для производства / среды.
Чтобы уточнить:
volumes, потому что я обычно подключаю USB-накопитель к своему докер-контейнеру, например: d:/var/wwwports заключается в том, что на моем локальном компьютере могут быть другие службы, использующие порт 80, поэтому мне может потребоваться это изменить.environment, конечно, отличается для prod / dev .. (в основном аутентификация и доступ к базе данных)Было бы неплохо узнать больше советов.


Вы должны следовать Использование Compose в производстве документация:
You probably need to make changes to your app configuration to make it ready for production. These changes may include:
- Removing any volume bindings for application code, so that code stays inside the container and can’t be changed from outside
- Binding to different ports on the host
- Setting environment variables differently, such as when you need to decrease the verbosity of logging, or to enable email sending)
Specifying a restart policy like
restart: alwaysto avoid downtimeAdding extra services such as a log aggregator
Точный список будет зависеть от требований вашей среды / команды операций, но это то, что кажется полезным помимо портов / существующих томов:
Сети
Сеть по умолчанию может не работать в вашей производственной среде. Например, ваша команда операторов может решить разместить nginx / php-fpm / mariadb в разных сетях, как в следующем примере (https://docs.docker.com/compose/networking/#specify-custom-networks), или даже использовать уже существующую сеть.
Конфиги mysql
Обычно они находятся в отдельном каталоге, то есть /etc/my.cnf и /etc/my.cnf.d.
Эти конфигурации могут отличаться между prod / dev.
Не вижу его на пути к вашим томам
PHP-fpm7
Не работал с php-fpm7, но в php-fpm5 у него также была другая папка с файлами конфигурации (/etc/php-fpm.conf и /etc/php-fpm.d), которая отсутствует на ваших томах. Эти файлы также могут отличаться, если вы справитесь даже с умеренной нагрузкой (вам нужно будет настроить количество рабочих / тайм-аутов и т. д.)
Nginx
Как и для php-fpm, настройки ssl / имена хостов / конфигурации доменов могут отличаться
логирование
Подумайте, какой драйвер регистрации может лучше всего соответствовать вашим потребностям. От здесь:
Docker includes multiple logging mechanisms to help you get information from running containers and services. These mechanisms are called logging drivers.
Вы можете легко настроить его в docker-compose, вот пример, вызывающий выделенный контейнер fluentd для ведения журнала:
version: "3"
services:
randolog:
image: golang
command: go run /usr/src/randolog/main.go
volumes:
- ./randolog/:/usr/src/randolog/
logging:
driver: fluentd
options:
fluentd-address: "localhost:24224"
tag: "docker.{{.ID}}"
fluentd:
build:
context: ./fluentd/
ports:
- "24224:24224"
- "24224:24224/udp"
Я прочитал документы, пункты два и пять немного расплывчаты, а документ далек от подробностей, поэтому я задал вопрос