Docker系列器九:docker-compose與docker-compose.yml語法



一般情況下:docker 安裝wordpress,流程是:
docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql

docker run -d -e WORDPRESS_DB_HOST=mysql:3306 --link mysql -p 8080:80 wordpress
Docker Compose
docker Compose 代替了批處理的功能
1,docker compose是一個工具
2,這個工具可以通過一個yml文件定義多容器的docker應用
3,通過一個命令就可以柑橘yml文件的定義去創建或者管理這多個容器

docker-compose.yml三大概念
services
networks
volumes
1,一個service代表一個container,這個container可以從dockerhub的image開創建,或者從本地的dockerfile build出來的images創建

2,service 啟動類似docker run ,我們可以給其他的network和volume的引用

docker Compose的安裝接使用
查看docker-compose的版本
docker-compose --version

linux下面的安裝:
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

賦權:
sudo chmod +x /usr/local/bin/docker-compose

[root@docker-host home]# docker-compose --version
docker-compose version 1.22.0, build f46880fe
將編寫的yml文件放到一個文件夾下面
使用docker-compose up來啟動,這種方式可以看到日志
docker-compose up -d  啟動起來,在后台顯示
可以使用docker-compose up --help查看幫助

啟動指定的docker-cmpose yml文件
docker-compose -f docker-compose up

查看docker-compose進程
docker-compose ps

但是通過docker ps -a也能看見

停止docker-compose的兩個方式:
docker-compose stop 這種不會刪除容器和里面的數據
docker-compose down 這種會刪除容器和刪除容器里面的network和volume

docker-compose.yml
version: '3'

services:

wordpress:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: root
networks:
- my-bridge

mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-bridge

volumes:
mysql-data:

networks:
my-bridge:
driver: bridge

docker 文檔
https://docs.docker.com/
docker compose文檔
https://docs.docker.com/ee/
docker compose版本參考文檔
https://docs.docker.com/compose/compose-file/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM