直接看docker-compose.yml配置文件
此配置文件是在之前寫過的一篇Docker安裝配置Nginx、Mysql、PHP肤寝、Redis容器服務(wù)剩燥,的基礎(chǔ)上擴(kuò)展的。
version: '3'
networks:
backend:
driver: bridge
# 定義四個服務(wù)nginx,php,mysql,redis
services:
nginx:
# 依賴php服務(wù)歧强,意味著在啟動nginx之前先啟動php
depends_on:
- php-fpm
# nginx鏡像的路徑
image: registry.cn-shenzhen.aliyuncs.com/yxyong/nginx
volumes:
- ./website:/var/www:cached
- ./logs/nginx:/var/log/nginx
- ./conf/nginx/sites:/etc/nginx/sites-available
- ./conf/nginx/ssl:/etc/nginx/ssl
# nginx意外退出時自動重啟
restart: always
# 映射80和443端口
ports:
- "80:80"
- "443:443"
# 容器名稱
container_name: nginx
networks:
- backend
php-fpm:
depends_on:
- mysql
- redis
image: registry.cn-shenzhen.aliyuncs.com/yxyong/php
restart: always
volumes:
#- ./conf/php/php.ini:/usr/local/etc/php/php.ini
- ./website:/var/www:cached
container_name: php-fpm
networks:
- backend
mysql:
image: registry.cn-shenzhen.aliyuncs.com/yxyong/mysql
volumes:
- ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
- ./data/mysql:/var/lib/mysql
restart: always
# 設(shè)置MYSQL_ROOT_PASSWORD環(huán)境變量,這里是設(shè)置mysql的root密碼为肮。這里為wanphp@1314摊册。
environment:
MYSQL_ROOT_PASSWORD: wanphp@1314
TZ: PRC
ports:
- "13306:3306"
container_name: mysql
networks:
- backend
redis:
image: registry.cn-shenzhen.aliyuncs.com/yxyong/redis
volumes:
# - ./conf/redis/redis.conf:/usr/local/etc/redis.conf
- ./data/redis:/data
restart: always
ports:
- "16379:6379"
container_name: redis
networks:
- backend
composer:
image: composer:latest
command: ["composer", "install" ] #update
container_name: composer
volumes:
- ./website/itempath:/app
默認(rèn)情況下,composer鏡像會執(zhí)行/app文件夾中的命令颊艳,所以我們將要intsall或update項(xiàng)目目錄映射到composer容器內(nèi)部的/app目錄
當(dāng)composer容器啟動時茅特,它執(zhí)行“ composer install”命令,然后退出棋枕。
如果需要更新白修,將docker-compose.yml配置文件中的
command: ["composer", "install" ]
改成
command: ["composer", "update" ]
在docker-compose.yml配置文件目錄中執(zhí)行docker-compose up -d
更新依賴包。
以后可以使用docker-compose restart composer
或docker restart composer
更新依賴包重斑。
docker logs composer
查看依賴包更新情況兵睛。
參與原文:https://hackernoon.com/get-composer-to-run-on-docker-container-a-how-to-guide-y86g36z7