使用Docker-Compose部署项目
1、概述
是Docker官方考虑到Docker命令过多,参数复杂,而开源一个通过配置文件来进行容器的编排与部署的组件
2、配置文件
-
docker-compose.yml
例如:
#version: "3" #旧版本要这个属性,写3。。。最新版本,不需要这个属性
services:
mysql:
image: mysql
container_name: mysql
ports:
- "3306:3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123
volumes:
- "./mysql/conf:/etc/mysql/conf.d"
- "./mysql/data:/var/lib/mysql"
- "./mysql/init:/docker-entrypoint-initdb.d"
networks:
- hm-net
hmall:
build:
context: .
dockerfile: Dockerfile
container_name: hmall
ports:
- "8080:8080"
networks:
- hm-net
depends_on:
- mysql
nginx:
image: nginx
container_name: nginx
ports:
- "18080:18080"
- "18081:18081"
volumes:
- "./nginx/nginx.conf:/etc/nginx/nginx.conf"
- "./nginx/html:/usr/share/nginx/html"
depends_on:
- hmall
networks:
- hm-net
networks:
hm-net:
name: hmall
3、常用命令
语法
docker compose [OPTIONS] [COMMAND]
4、步骤
到root目录
cd /root
清理之前所有的容器
docker stop $(docker ps -qa)
docker rm $(docker ps -qa)
部署Java应用,
将Dockerfile 文件、Java应用Jar包 上传资料(从本地拉)到服务器
将配置好的docker-compose.yml上传资料(从本地拉)到服务器
将mysql,nginx从本地拉到服务器
启动所有, -d 参数是后台启动
docker-compose up -d
测试
下面的是一些其他命令
docker-compose down
docker-compose ps
docker-compose logs -f 容器名称
docker-compose exec -it 容器名称 bash
删除网络
docker network rm 网络名