Docker-Compose
2022/7/9 23:20:46
本文主要是介绍Docker-Compose,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Docker-Compose
官方文档:https://docs.docker.com/compose/
Docker-Compose 是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排
Compose 是一个用于定义和运行多个容器 Docker 应用程序的工具,使用 Compose,可以使用 YAML 格式的配置文件(docker-compose.yml)来配置应用程序的服务,写好多个容器之间的调用关系;然后,只要一个命令就能同时启动/关闭这些容器
安装 docker-compose
下载并安装 Compose CLI 插件
# 依次执行以下命令 DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
此命令下载最新版本的 Docker Compose(从 Compose 发布存储库)并在
$HOME
目录下为活动用户安装 Compose
对二进制文件应用可执行权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
或者,如果您选择为所有用户安装 Compose:
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
测试安装是否成功
docker compose version
卸载 docker-compose
如果您曾经curl
安装 Compose CLI 插件,要卸载它,请运行:
rm $DOCKER_CONFIG/cli-plugins/docker-compose
或者,如果您为所有用户安装了 Compose,请运行:
rm /usr/local/lib/docker/cli-plugins/docker-compose
您还可以使用:
docker info --format '{{range .ClientInfo.Plugins}}{{if eq .Name "compose"}}{{.Path}}{{end}}{{end}}'
检查 Compose CLI 插件的位置
docker-compose 使用步骤
- 编写 Dockerfile 定义各个微服务应用并构建出对应的镜像文件
- 使用 docker-compose.yml 定义一个完整业务单元,安排好整体应用中的各个容器服务
- 执行 docker-compose up 命令来启动并运行整个应用程序,完成一键部署上线
docker-compose 常用命令
# 查看帮助 docker-compose -h # 启动所有 docker-compose 服务 docker-compose up # 后台启动所有 docker-compose 服务 docker-compose up -d # 后台强制启动 docker-compose 中的某个服务 docker-compose up --force-recreate -d 服务名 # 停止并删除容器、网络、卷、镜像 docker-compose down # 进入容器实例内部 docker-compose exec yml里面的服务id或服务名 /bin/bash # 展示当前 docker-compose 编排过的运行的所有容器 docker-compose ps # 展示当前 docker-compose 编排过的容器进程 docker-compose top # 查看容器输出日志 docker-compose logs yml里面的服务id或服务名 # 检查配置 docker-compose config # 检查配置,有问题才输出(启动 docker-compose 前可以通过该命令检查 yml 语法是否存在错误) docker-compose config -q # 重启服务(不写服务id或服务名则重启所有服务) docker-compose restart 服务id或服务名 # 启动服务(不写服务id或服务名则启动所有服务) docker-compose start 服务id或服务名 # 停止服务(不写服务id或服务名则停止所有服务) docker-compose stop 服务id或服务名
docker-compose.yml 文件案例说明
# docker-compose 版本 version:"3" services: # 服务名称 microService: # 构建服务使用的镜像名 image: boot-server:1.1 # 容器名称(不写则自动生成) container_name: docker-compose-test # 端口映射 ports: - "6001:6001" # 容器数据卷 volumes: - /app/microService:/data # 服务所使用的网络模式 networks: - net01 # 依赖了哪些其他服务 depends_on: - reids - mysql redis: image: redis:6.0.8 ports: - "6379:6379" volumes: - /app/redis/redis.conf:/etc/redis/redis.conf - /app/redis/data:/data networks: - net01 # 容器启动执行的命令 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: 'user' MYSQL_PASSWORD: '123' ports: - "3306:3306" volumes: - /app/mysql/db:/var/lib/mysql - /app/mysql/conf/my.cnf:/etc/my.cnf - /app/mysql/init:/docker-entrypoint-initdb.d networks: - net01 # 解决外部无法访问 command: --default-authentication-plugin=mysql_native_password # 网络配置 networks: # 如果 net01 网络模式不存在则自动创建该网络 net01:
这篇关于Docker-Compose的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程