docker-compose.yml 编写模板
(一):编写DockerFile
FROM java:8
# 作者
MAINTAINER yuqz
#将jar包添加到容器中并更名为zzyy_docker.jar
ADD demo-0.0.1-SNAPSHOT.jar yuqz_docker.jar
# 运行jar包
ENTRYPOINT ["java","-jar","yuqz_docker.jar"]
#暴露6001端口作为微服务EXPOSE 5002
注意上传的springboot微服务要和 DockerFile、docker-compose.yml放在一个目录下
(二):编写正确的 docker-compose.yml文件
version: "3"
services:
microService:
image: yuqz_docker:1.6
container_name: yuqz
ports:
- "5002:5002"
volumes:
- /app/microService:/data
networks:
- yuqz_net
depends_on:
- redis
- mysql
redis:
image: redis:6.0.8
ports:
- "6380:6379"
volumes:
- /app/redis/redis.conf:/etc/redis/redis.conf
- /app/redis/data:/data
networks:
- yuqz_net
command: redis-server /etc/redis/redis.conf
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: '123456'
MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
MYSQL_DATABASE: 'db2021'
MYSQL_USER: 'yuqz'
MYSQL_PASSWORD: 'yuqz'
ports:
- "3308:3306"
volumes:
- /app/mysql/db:/var/lib/mysql
- /app/mysql/conf/my.cnf:/etc/my.cnf
- /app/mysql/init:/docker-entrypoint-initdb.d
networks:
- yuqz_net
command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
networks:
yuqz_net:
(三):使用命令验证 docker-compose.yml编写是否正确
docker-compose config -q
(四) :如果上面检查命令无报错,执行一键启动命令:
docker-compose up -d