Docker 之 Compose简介与使用

1.用来定义和运行多个Docker容器的应用,可以允许用户通过一个单独的模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

2.服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

3.项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。

4.Compose的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。一个项目可以由多个服务(容器)关联而成,Compose面向项目进行管理。

5.常用命令:

config:验证Compose文件格式是否正确。

up:启动容器

down:停止容器

exec同普通docker命令:进入容器

images、kill、logs、pause、port、ps、pull、push、restart、rm、start、stop、同普通命令

run:在指定服务上执行一个命令

top:查看各服务容器内运行的进程

执行以上命令的形式

$ docker-compose run …

例:docker-compose.yml

version: “3”

services:
apollo-configservice: ##容器服务名
container_name: apollo-configservice ##容器名
build: apollo-configservice/src/main/docker/ ##构建容器、执行Dockerfile路径(绝对路径或相对此文件的路径)
image: apollo-configservice ##指定依靠的镜像名
ports: #暴露端口信息、使用宿主端口
- “9180:8080”
volumes: #设置数据卷所挂载路径
- “/opt/logs/100003171” ##将/opt/logs/100003171目录挂载到宿主机的
/Users/mobin/opt/logs/100003171方便在宿主机上查看日志
environment: #设置环境变量:数组或字典两种形式
- spring_datasource_url=jdbc:mysql://172.22.128.1:3306/ApolloConfigDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=1

apollo-adminservice:
container_name: apollo-adminservice
build: apollo-adminservice/src/main/docker/
image: apollo-adminservice
ports:
- “9181:8090”
depends_on:
- apollo-configservice
volumes:
- “/opt/logs/100003172”
environment:
- spring_datasource_url=jdbc:mysql://172.22.128.1:3306/ApolloConfigDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=1

apollo-portal:
container_name: apollo-portal
build: apollo-portal/src/main/docker/
image: apollo-portal
ports:
- “9182:8070”
depends_on:
- apollo-adminservice
volumes:
- “/opt/logs/100003173”
environment:
- spring_datasource_url=jdbc:mysql://172.22.128.1:3306/ApolloPortalDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=1


发布了16 篇原创文章 · 获赞 1 · 访问量 812

猜你喜欢

转载自blog.csdn.net/apple_1900/article/details/104023363