Docker 自定义镜像
镜像定义:将应用程序及其所需要的系统函数库、环境、配置和依赖打包而成分层结构的文件,包括基础镜像(Base Image)和运行入口(Entrypooint)
Docker 可以通过读取 Dockerfile 中的指令来自动构建镜像。 Dockerfile 是一个文本文档,其中包含用户可以在命令行上调用以组装图像的所有命令。使用 docker build 用户可以创建一个连续执行多个命令行指令的自动构建。
https://docs.docker.com/engine/reference/builder/
构建Springboot 单个应用 Dockerfile 模版:
# 基础镜像
FROM java:8-alpine
# 拷贝jar包
COPY ./user-service-1.0-SNAPSHOT.jar /temp/user.jar
# 暴露端口
EXPOSE 8081
# 运行入口
ENTRYPOINT java -jar /temp/user.jar
构建命令:docker build -t user:1.0 .
运行命令:docker run --name user-service -p 8081:8081 -d user:1.0
DockerCompose
Docker Compose 可以基于Compose文件构建分布式应用,就不需要手动单个构建镜像和运行容器了
Docker-compose.yml
version: "3.8"
services:
user-service:
build: ./user-service
depends_on:
- nacos
gateway-service:
build: ./gateway
ports:
- "10010:10010"
depends_on:
- nacos
运行命令:
docker-compose up -d && docker-compose logs -f