大家好,今天来介绍dockercompose命令详解(docker-compose是什么)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!
Docker从入门到精通之Docker Compose
Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。
用python构建一个简易网页统计网页点击量,docker-compose进行发布
Step1:创建项目
Step2:创建Dockerfile文件
Step3:在docker-compose.yml中定义services
Step4:用Docker compose构建和运行app
Step5:绑定一个数据卷
将当前目录与容器的/code目录绑定,这样可以动态修改代码
Step6:重新构建和运行app
先docker-compose down停止服务,在构建
用YAML文件定义服务,默认文件是docker-compose.yml,包含4个顶级key,version、services、networks、volumes
参考compose-spec/spec.md at master · compose-spec/compose-spec · GitHub
指定本 yml 依从的 compose版本
定义多个应用服务,包含环境配置、镜像构建等
指定构建镜像的路径
定义服务的block IO配置,参考compose-spec/spec.md at master · compose-spec/compose-spec · GitHub
指定自定义容器名称
定义服务间启动或关闭的依赖关系
覆盖容器启动的默认命令
domainname declares a custom domain name to use for the service container.
覆盖容器默认的entrypoint
从文件中添加环境变量到容器,可以是一个或多个文件
文件格式:
添加环境变量
暴露端口,但不映射到宿主机,只被连接的服务访问,仅可以指定内部端口
用于检测 docker 服务是否 健康 运行。
指定容器运行的镜像
设置容器标签
连接到另一个容器的网络,简单将就是让容器相互连通
服务的日志记录配置,driver:指定服务容器的日志记录驱动程序,默认值为json-file。有以下三个选项
仅在 json-file 驱动程序下,可以使用以下参数,限制日志得数量和大小。
syslog 驱动程序下,可以使用 syslog-address 指定日志接收地址。
设置网络模式,格式如下:
配置容器连接的网络
指定ip地址
端口映射,映射主机与容器端口,格式:Host:ontainer
容器重启策略
存储敏感数据,比如密码
将主机数据卷挂载到容器
覆盖容器工作目录
Docker的那些事儿—什么是docker compose
从本节开始,开启docker compose学习。
上一篇: Docker的那些事儿—如何利用docker-machine配置管理machine?
前面我们学习了docker容器,了解了如何启动容器。那如果我需要启动多个容器,甚至还要严格控制这些容器的启动顺序,怎么办呢?当然了,我们可以通过脚本来完成这一相对复杂的流程控制,但是这显然不够灵活,逻辑稍微变化,脚本可能变化很大。基于此Docker提供了一种更加简单的方法,来管理多个容器的联动。
Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用(称为一个 project,即项目)。Compose 定位是“Define and run multi-container applications with Docker”,其前身是 Fig,兼容 Fig 的模板文件。你需要定义一个 YAML 格式的配置文件 docker-compose.yml ,写好多个容器之间的调用旁圆关系。然后,只要一个命令,就能同时启动/关闭这些容器。
# 启动所有服务
$ docker-compose up
# 关闭所有服务
$ docker-compose stop
使用Compose包含三个最基本步骤:
1、定义Dockerfile文件,该文件定义了应用环境(镜像的构建)
2、定义docker-compose.yml文件,该文件定义了组成应用的服务
3、运行docker-compose up命令
一个典型的docker-compose.yml文件内容如下:
version: '3'
services:
web:
build: .
ports:
- "运信塌5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
关于docker-compose.yml文件,后面会详细介坦咐绍。
下一篇: Docker的那些事儿—如何安装docker-compose?
Docker及DockerCompose的使用
菜鸟Docker
阮一峰的Docker教程
Docker是一个开源的容器引擎,它有助于更快地交付应用。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
按照菜鸟的步骤,使用yum安装即可。
常用指令如下图,直白用法点 我 ,官方介绍点击 我
备注:RUN命令在 image 文件的构建阶段执行,执行结果都会打包进入 image 文件;CMD命令则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUN命令,但是只能有一个CMD命令。注意,指定了CMD命令以后,docker container run命令就不能附加命令了,否则它会覆盖CMD命令。
Docker Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
全网最详细的DockerCompose详细教程
compose、machine 和 swarm 是docker 原掘大生提供的三大编排工具。简称docker三剑客。
Docker Compose能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部 署和管理。多数的现代应用通过多个更小胡谨的微服务互相协同来组成一个完整可用的应用。
Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用JSON。
Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。
Docker Compose 的裤散基 YAML 文件包含 4 个一级 key:version、services、networks、volumes
docker-compose up -d
docker-compose down
docker-compose ps
docker-compose logs
docker-compose build者重新构建服务
docker-compose start
docker-compose stop
docker-compose restart
[Docker] dockercompose使用教程
[Docker] 入门教程
https://www.jianshu.com/writer#/notebooks/20574865/notes/37511203
我们从 logo 上可以看出来, 说白了, 这个东西就是一个管理容器的闷和工(zhang)具(yu), 我们可以方便的使用它来管理我们的 docker 容器, 可以极大程度的简化命令行的复杂操作.
如果你是 Mac 或 Windows 用户使用桌面版本的 Docker 应用默认就会替你安装 docker-compose (下文中用dc代替), 如果是 centos 的话可以使用命令 yum -y install docker-compose 太简单了不做过多说明.
查看版本,能显示出来证明安装成功了
接下来我们有需求了, 运行一个宽弯 service-a 挂载到 /usr/local , 映射端口为 8082 并添加 servicehost 域名映射内网 ip ,很多人可以想到那应该是一条冗长 docker 命令
这么一大坨,看起来十分不方便,那么我们就是用 docker-compose 来优化一下
首先创建一个名为 docker-compose.yml 的文件
之后随便是用一个文本编辑器打开,写入下面内容
这样看起来是不是思路清晰多了呢,我们接下来运行一下
-d 后台运行,否则运行log就会出现在你的屏幕上。。。
然后查看一下运行状态
我们可以看到服务已经运行起来了,我们试着访问一下
http://localhost:8082/hello
成功,这一部分告一段落。
有的人会问,多个服务怎么运行呢?很简单,我们这里就来做一下。
下面我要做的是开启三个服务 service-a , service-b , service-eureka ,分别是一个注册中心和两个服务。
我们来完善一下 docker-compose.yml
我们来运行一下
注册中心
访问service-a
访问service-b
到这里我们已经可以运行起来多个服务了!!!!下课 - -
我们可以看到 docker-compose 会自动识别容慎罩闷器的开启状态,替我们开启需要开启的那一个
1.可能很多人对我的 echo 192.168.1.126 servicehost >> /etc/hosts 不是很理解
这里说一下,这句命令的意思是,把 servicehost 域名加入到 hosts 文件,目的是为了能让我的 eureka 发现我的服务,而不是把地址写死在配置文件中,这句命令对应的服务配置为
本文地址:https://gpu.xuandashi.com/71629.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!