确切的列表将取决于您的环境/运营团队要求,但除了端口/现有卷之外,这似乎很有用:
网络
默认网络可能不适用于您的 prod 环境。例如,您的运维团队可能决定将 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
与 for 相同php-fpm
,ssl 设置/主机名/域配置可能不同
日志记录
考虑哪种日志记录驱动程序最适合您的需求。从这里:
Docker 包含多种日志记录机制,可帮助您从正在运行的容器和服务中获取信息。这些机制称为日志记录驱动程序。
你可以很容易地在 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"