1.什么是DockerCompose
Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器,分布式部署的帮手
Compose文件:是一个文本文件,通过指令定义集群中的每个容器如何运行。
(1)下载或上传dockerCompose到/usr/local/bin目录下
(2)查看下载docker-compose文件
(3)此时的docker-compose没有执行权限,执行下面指令添加执行权限
chmod +x /usr/local/bin/docker-compose
(4)下载Base自动补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果执行错误或者下载缓慢,有可能是域名解析错误,可以修改host文件,添加一下域名映射IP
echo “199.232.68.113 raw.githubusercontent.com” >> /etc/hosts
2.使用docker-compose部署微服务
(1)准备几个服务,user-service、order-service和gateway服务,服务依赖于mysql,目录如下
(2)将服务打包成jar包,并创建dockerfile文件,目录如下
(3)dockerFile文件
(4)docker-compose配置文件
version: "3.2"
services:
nacos:
image: nacos/nacos-server
environment:
MODE: standalone
ports:
- "8848:8848"
mysql:
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: 123
volumes:
# pwd表示docker-compose所在的当前位置
- "$PWD/mysql/data:/var/lib/mysql"
- "$PWD/mysql/conf:/etc/mysql/conf.d/"
userservice:
build: ./user-service
orderservice:
build: ./order-service
gateway:
build: ./gateway
ports:
- "10010:10010"
(5)上传项目到tmp目录下
(6)使用docker-compose构建镜像和容器,启动服务
docker-compose up -d
由于服务镜像同步启动,nacos没有启动,服务访问不到nacos会启动失败,需要重新启动。或者部署的时候先部署nacos服务,再部署其它服务。