Docker-compose简介+使用
Docker-compose简介
- Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排
- Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
docker-compose.yml模板文件的指令
version: "3"
services:
redis:
image: redis:alpine
ports:
- "6379"
networks:
- frontend
deploy:
replicas: 2
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
db:
image: postgres:9.4
volumes:
- db-data:/var/lib/postgresql/data
networks:
- backend
deploy:
placement:
constraints: [node.role == manager]
提示:您可以使用此文件的扩展名为
.yml
或.yaml
扩展名。
文件结构说明
从上面的示例模板文件中可以看出,顶级的配置项有:
- version 定义了版本信息
- services 定义了服务的配置信息
- networks 定义了网络信息,提供给 services 中的 具体容器使用
- volumes 定义了可以同意管理数据卷,提供给 services 中的 具体容器使用
image
指定为镜像名称或镜像 ID。
如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。
image: ubuntu
image: orchardup/postgresql
image: a4bc65fd
ports
映射端口信息。
使用:
宿主端口:容器端口 (即:HOST:CONTAINER) 的格式格式,或者仅仅指定容器的端口(宿主将会随机选择端口)都可以。
ports:
- "3000"
- "8000:8000"
- "49100:22"
- "127.0.0.1:8001:8001"
volumes
数据卷所挂载路径设置。可以设置宿主机路径 (Host:Container) 或加上访问模式 (Host:Container:ro)。
该指令中路径支持相对路径。
volumes:
- /var/lib/mysql
- cache/:/tmp/cache
- ~/configs:/etc/configs/:ro
构建Tomcat的docker-coompose文件
version: '3'
services: # 可以指定多个服务
mytomcat: #这个名字随便起 只要有意义
restart: always # 自动开机启动
image: tomcat:8.5.32 # 基于哪个镜像
container_name: tomcat #容器名称
ports: # 指定端口 可以是多个
- 8080:8080
# - 80:80
volumes: # volumes 可以使用下边定义好的 volumes 直接写下边定义好的名称
# - tomcat:data:/usr/local/tomcat/webapps/ROOT # 方式一
- /usr/local/docker/tomcat/wenapps/ROOT:/usr/local/tomcat/webapps/ROOT # 方式二
volumes: # 顶级元素
- tomcat:data:/usr/local/docker/tomcat/wenapps/ROOT
安装Docker-compose–方式一
1、安装python-pip
apt install -y python-pip
安装docker-compose
- -i 后面的为切换下载源为阿里云的 下载速度更快
pip install -i https://mirrors.aliyun.com/pypi/simple docker-compose
待安装完成后,执行查询版本的命令,即可安装docker-compose
docker-compose version
安装Docker-compose–方式二
但是此方法会经常因为网络的原因而无法安装- 1.先下载docker-compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 2.再赋予该文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 3.最后检查docker-compose是否安装成功
docker-compose --version
- 3.1返回结果
docker-compose version 1.23.1, build 1719ceb
Docker-compose 常用命令
- 这些指令必须再docker-compose下的文件夹使用
命令 | 作用 | 示例 |
---|---|---|
docker-compose up | 启动docker-compose | 尾部加上 -d 守护态运行(后台运行) |
docker-compose down | 停止docker-compose | |
docker-compose -f 文件路径 up -d | 指定docker-compose文件启动 | docker-compose -f /usr/test/docker-compose up -d |
docker-compose -f 文件路径 down | 指定docker-compose文件停止 | 和上边一样 |
docker-compose logs 镜像名 | 查看日志 | docker-compose logs tomcat |
docker-compose logs -f 镜像名 | 监听日志 | 会阻塞再命令窗口 |
完结
作者:yufire © [email protected]