一般情況下: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/