docker-compose是用於方便管理docker容器的工具,並非必須品,用上了會更方便一點
其中一個比較好的地方是,容器已經創建了,但是可能需要修改例如掛載盤或開放更多端口等,這些操作只需要改yml文件,然後重新up就可以了
目前還沒用到在docker-compose裏去build,因爲覺得在外部build好之後會更好
默認情況下將文件命名爲docker-compose.yml,進入當前目錄下去執行docker-compose命令就可以了
可以使用參數 -f 來指定其他文件名,但是這種方式會導致啓動的時候警告其他在運行的容器時孤立的,其實其他容器沒定義在這個yml而已,是正常運行的,目前原因還沒搞懂
docker-compose常用的命令有:
docker-compose up -d 啓動容器,如果鏡像不存在則先下載鏡像,如果容器沒創建則創建容器,如果容器沒啓動則啓動
docker-compose down 停止並移除容器
docker-compose restart 重啓服務
定義啓動mysql容器
mysql:
# 生成的容器名稱
container_name: mysql
# 使用鏡像,如果本地不存在則將下載
image: registry.cn-shenzhen.aliyuncs.com/beni/mysql:latest
# 掛載目錄
volumes:
- /data/mysql:/var/lib/mysql
# 定義環境變量
environment:
- MYSQL_ROOT_PASSWORD=123456 # 注意:定義環境變量時必須=前後不留空格
定義啓動php-apache的容器用於部署wordpressphp-apache:
container_name: php-apache
image: registry.cn-shenzhen.aliyuncs.com/beni/php-apache:latest
volumes:
- C:/data/wordpress:/var/www/html
# 定義端口映射
ports:
- 80:80
# 定義使用link方式使用其他容器
# 注意external_links和links的區別,一個是指在這個yml定義以外的容器,一個是指這個yml定義以內的容器
external_links:
- mysql:mysql