介紹
Docker Compose通過一個單獨的docker-compose.yml模板文件(YAML格式)來定義一組相關聯的應用容器,幫助我們實現多個相互關聯的Docker容器的快速部署。
如:springboot+mysql+nginx 如果一個個去部署他會非常的麻煩,這時候可以選擇Docker Compose一鍵部署
文件名稱:docker-compose.yml
MySQL
docker run \--name=mysql \-e MYSQL_ROOT_PASSWORD=123456 \-p 3306:3306 \-v mysql_data:/var/lib/mysql \--restart unless-stopped \-d \mysql:8.0
Nginx
docker run -d --name nginx \-v /etc/local/nginx/dist:/usr/share/nginx/html \-p 80:80 \--restart always \nginx
SpringBoot
docker run -d --name java-app -p 8080:8080 --restart=always app
如果一個個去進行部署會非常麻煩,這時候可以打包成一個Docker Compose一鍵部署
version: "3.8"services:mysql:image: mysqlcontainer_name: mysqlports:- "3306:3306"environment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: 123volumes:- "./mysql/conf:/etc/mysql/conf.d"- "./mysql/data:/var/lib/mysql"- "./mysql/init:/docker-entrypoint-initdb.d"networks:- hm-nethmall:build: context: .dockerfile: Dockerfilecontainer_name: hmallports:- "8080:8080"networks:- hm-netdepends_on:- mysqlnginx:image: nginxcontainer_name: nginxports:- "18080:18080"- "18081:18081"volumes:- "./nginx/nginx.conf:/etc/nginx/nginx.conf"- "./nginx/html:/usr/share/nginx/html"depends_on:- hmallnetworks:- hm-net
networks:hm-net:name: hmall
創建并啟動
需要在當前目錄下
docker-compose up -d
查看容器的狀態
docker-compose ps
停止容器
docker-compose top
刪除并移除網絡
docker-compose down