在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Docker Compose 可以实现 Docker 容器集群的编排,可以通过 文档Compose file version 3 reference 安装 ComposeCompose 依赖 Docker Engine,所有要保证环境安装了 Docker,可参考官方教程,主要分为两步: # 1. 下载 Compose 只执行文件到 usr/local/bin/ 目录 # 下载失败可以参考下一小结提供地址安装 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 2. 对 Compose 可执行文件添加运行权限 sudo chmod +x /usr/local/bin/docker-compose # 输入下面命令查看帮助,测试安装是否成功 docker-compose -h Compose 开源在 Docker 官方的 GitHub 仓库:docker/compose,所有的 Compose 都会发布在仓库的 Releases 里,步骤1就是使用 curl 命令从 Releases 里下载可执行文件, 直接从 GitHub 下载比较慢可以通过以下地址下载: # https://vuepress.mirror.docker-practice.com/compose/install/ sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 入门Compose 的模版指令与 Docker 的 run 命令相关参数很相似,忘记了 docker 命令可以参考之前的一篇博客:Docker 实践及命令梳理 Compose 中有两个重要的概念:
# 指定版本 version: "3" # 服务的集合 services: # 其中一个服务,服务名为:webapp webapp: # 指定该服务使用的镜像 image: examples/web # 端口映射 ports: - "80:80" # 数据卷 volumes: - "/data" 简单上手在一个 Compose 中启动 Tomcat, MySQL, redis,创建 version: "3.0" services: tomcat: container_name: mytomcat # --name image: tomcat:8.0-jre8 ports: - "8080:8080" volumes: - "tomcatwebapps:/usr/local/tomcat/webapps" networks: - some_network # tomcat 服务依赖于 mysql 和 redis depends_on: - mysql - redis mysql: container_name: mysql image: mysql:5.7.32 ports: - "3306:3306" volumes: - "mysqldata:/var/lib/mysql" - "mysqlconf:/etc/mysql" environment: - MYSQL_ROOT_PASSWORD=1234 networks: some_network: redis: container_name: redis image: redis:5.0.10 ports: - "6379:6379" volumes: - "redisdata:/data" command: "redis-server --appendonly yes" networks: some_network: # 使用到的 volumes 和 networks 必须声明 volumes: tomcatwebapps: mysqldata: mysqlconf: redisdata: networks: # 声明名称为 “some_network” 的网络 some_network: 在 如果需要后台运行执行 使用 tomcat 服务使用了 命令梳理Docker Compose 的命令与 Dokcer 类似,可以使用 --help 参数,就可以查询到到对应命令的使用方法 docker-compose --help 默认启动的模版文件名为 docker-compose.yml,可以使用 -f 指定自定义的模版文件 docker-compse 也包含很多子命令: 资源相关:ps, top, kill, run 进入容器:exec 查看日志:logs 很多子命令都可以在后面跟上某个具体的 service 名称,定向地操作,下面不一一举例, # 后台启动 yaml 定义的所有容器 docker-compose up -d # 仅启动 mysql 这个service,会启动其依赖的 service docker-compose up mysql 指定启动的server名称, # 停止容器并移除自动创建的网桥 docker-compose down # 重启所有 service 后面可以指定上某个具体的 service docker-compose restart # 暂停 和 恢复 docker-compose pause docker-compose unpause # 进入 redis 这个 service 使用 exit 退出 docker-compose exec redis bash # 列出当前 yaml 中定义的容器的信息 docker-compose ps # 删除当前 yaml 中定义的容器,需要先 stop,后面可以指定上某个具体的 service docker-compose rm # 查看各个 service 容器内运行的进程情况 docker-compose top # 查看日志默认查看 yaml 所有的,可以跟上具体 service # -f 可以保持跟踪,新的日志会马上显示在屏幕上 docker-compose logs 参考资料 curl 的用法指南 到此这篇关于Docker Compose 实践及梳理的文章就介绍到这了,更多相关Docker Compose 实践内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论