Docker Compose来轻松高效管理容器,定义运行多个容器。
一、重要概念
- Docker Compose 将所管理的容器分为三层,分别是工程(project)、服务(service)、容器(container)
- Docker Compose 运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例
二、快速入门
#1、打包项目,获得 jar 包 docker-demo-0.0.1-SNAPSHOT.jarmvn clean package#2、在 jar 包所在路径创建 Dockerfile 文件,添加以下内容FROM java:8VOLUME /tmpADD docker-demo-0.0.1-SNAPSHOT.jar app.jarRUN bash -c 'touch /app.jar'EXPOSE 9000ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]#3、在 jar 包所在路径创建文件 docker-compose.yml,添加以下内容version: '2' # 表示该 Docker-Compose 文件使用的是 Version 2 fileservices:docker-demo: # 指定服务名称build: . # 指定 Dockerfile 所在路径ports: # 指定端口映射- "9000:8761"#4、在 docker-compose.yml 所在路径下执行该命令 Compose 就会自动构建镜像并使用镜像启动容器docker-compose updocker-compose up -d // 后台启动并运行容器
三、docker-compose.yaml规则
#大概分为三层#第一层,版本号,对于docker的版本version: ''#第二层,服务services:服务1: web#服务的配置imagesbuildnetwork...服务2: redis...服务3: es...#第三层,其他的一些配置,如:网络/卷、全局规则等volumes:networks:configs:
