Docker compose 编排工具详解
Docker Compose
Docker Compose是一个定义及运行多个Docker容器的工具,通过 Compose,无需用shell脚本来启动容器,而使用 YAML 文件来配置应用程序需要的所有服务,然后使用命令,根据 YAML 的文件配置创建并启动所有服务,非常适合于多个容器进行开发的场景。
Compose非常适合开发,测试和登台环境以及CI工作流程。
YAML
YAML是一个可读性高,用来表达数据序列化的格式
相关命令及格式
version:指定此yml文件基于的compase的版本 services:指定创建容器的服务选项 服务名:例如nginx等 hostname:容器主机名 build :指定构建镜像上下文路径 context:上下文路径 dockerfile:指定构建镜像的 Dockerfile 文件名 ports:暴露容器端口,与-p相同,但端口不能低于60;例如:- 1234:80 networks:加入顶级networks下配置的网络 deploy:指定部署和运行服务相关配置,只能在Swarm模式使用 volumes:挂载宿主机路径或命令卷 image:指定容器运行的镜像 command:执行命令,覆盖默认命令 container_name:指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法 scale(扩展) environment:添加环境变量 restart:重启策略,定义是否重启容器;no(默认,不重启),always(总是重启), no-failure(退出状态非0时重启),unless-stoped(容器退出时,忽略守护进程启动前停止 的容器) networks:配置网络,指定网卡设备等
Compose命令
基本使用格式 docker-compose [options] [COMMAND][ARGS...] 选项 --verbose:输出更多调试信息 --version:打印版本并退出 -f,--file FILE:使用特定的compose模板文件,默认为docker-compose.yml -p, --project-name NAME:指定项目名称,默认使用目录名称 常用命令 build 重新构建服务 ps 列出容器 up 创建和启动容器 exec 在容器里面执行命令 scale 指定一个服务容器启动数量 top 显示正在运行的容器进程 logs 查看服务容器的输出 down 删除容器、网络、数据卷和镜像 stop/start/restart 停止/启动/重启服务
Compose安装
#环境部署所有主机安装docker环境(内容为docker基础) yum install docker-ce -y #下载compose,可通过curl直接链接下载,或在外下载好后拖进linux crul ...... #赋予docker compose执行权限 cp -p docker-compose /usr/local/bin/ chmod +x /usr/local/bin/docker-compose mkdir /root/compose_nginx #使用compose编排创建容器 #编写yml文件 vim /root/compose_nginx/docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1216:80 - 1217:443 networks: - cluster volumes: - ./wwwroot:/usr/local/nginx/html networks: cluster: #放入相关文件 mkdir nginx mkdir wwwroot echo "this is nginx" > wwwroot/index.html #执行yml文件创建容器 docker-compose -f docker-compose.yml up -d
到此这篇关于Docker compose 编排工具详解的文章就介绍到这了,更多相关Docker compose 编排工具内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
相关文章
Elasticsearch工具cerebro的安装与使用教程
这篇文章主要介绍了Elasticsearch工具cerebro的安装与使用教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-08浅谈Docker-compose中的depends_on顺序的问题解决
本文主要介绍了浅谈Docker-compose中的depends_on顺序的问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-11-03docker 启动elasticsearch镜像,挂载目录后报错的解决
这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20- 这篇文章主要介绍了JS中的compose函数和pipe函数用法,想深入了解Javascript的同学,可以参考下...2021-04-27
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
解决Docker中的error during connect异常情况
这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-22国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
明天就是国庆节了,最近看到好多好友换了国庆风的头像,感觉这个挺有意思,就找到了类似的源码研究了一番,并进行了改造(并非原创,只是进行了改造,只要想分享一下实现思路)。下面就来看看如何实现一键生成国庆风头像小工具。​...2021-10-01- 这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
教你使用Portainer管理多台Docker容器环境的方法
这篇文章主要介绍了Portainer管理多台Docker容器环境,本文给大家介绍的非常详细,包括环境准备及管理docker的详细过程,需要的朋友可以参考下...2021-11-11- 这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-19
- 这篇文章主要介绍了市面上短视频(douyin)"去水印"的工具原来是这样实现的,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-30
- 这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-27
- 这篇文章主要介绍了docker端口映射及外部无法访问问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-19
Docker 解决openjdk容器里无法使用JDK的jmap等命令问题
这篇文章主要介绍了Docker 解决openjdk容器里无法使用JDK的jmap等命令问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)
这篇文章主要介绍了Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-20- 这篇文章主要介绍了一条命令重启所有已停止的docker容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
使用rpm安装指定版本docker(1.12.6)的详细步骤
为了防止安装高版本的docker引发的错误,需要安装1.12.6版本的docker,下面小编给大家带来了使用rpm安装指定版本的docker(1.12.6)的步骤,感兴趣的朋友一起看看吧...2021-08-11- 通过本文可以帮助大家快速学习Docker安装ElasticSearch的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-08-31
- 本文主要介绍了Vue组件文档生成工具库的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-11
- 这篇文章主要介绍了在docker中执行linux shell命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-30