站长资讯网
最全最丰富的资讯网站

docker基础之compose文件结构以及安装工具(实例详解)

本篇文章给大家带来了docker中compose的相关知识,其中包括了compose文件结构以及安装docker compose工具的相关知识,希望对大家有帮助。

docker基础之compose文件结构以及安装工具(实例详解)

什么是docker compose?

docker compose是一个容器编排功能,将运行在不同容器中的不同服务器进行编排,联合在一起。

可以用于对多数容器进行统一管理:包括但不限于:网络、端口、挂载等可以用于实现容器的集群化,相关于容器、镜像的一系列操作,compose都可以进行操作,就是一个对于容器进行管理的功能

一、compose文件结构

1、yml文件

compose中文件结构通常是指yml文件的结构,那什么是yml文件?

yml文件是一种键值对格式的文件。

yml文件对于格式非常的敏感,需要注意以下几种事项:

  1. 只识别空格进行的缩进,不识别tab键的缩进形式
  2. 通常开头部分缩进两个空格
  3. 字符后面缩进一格空格,包括但不限于:冒号、逗号、横杠等这些字符。字符后面必须缩进一格
  4. 支持使用#来进行注释
  5. 如果包含特殊字符,需要使用单引号引用起来
  6. 布尔值必须使用引号括起来

例如:

  house:     family:       name: Doe       parents:          - John         - Jane       children:          - Paul         - Mark         - Simone     address:        number: 34       street: Main Street       city: Nowheretown       zipcode: 1234

yml文件格式例如上面,需要进行一级级的对应,不同级之间,有两个空格的间隔。

注:如果在一个层级中,一个键有多个值,可以使用在下一个层级,同样是空余两格,以短横杠起始,有几个值写几个端横杠

2、Compose配置常用的字段

字段 描述
build dockerfile centext 指定Dockerfile文件名构建镜像上下文的路径
images 指定镜像
command 执行命令,覆盖默认命令
container name 指定容器名称,由于容器名称是唯一的。如果指定自定义名称,则是无法创建scale
deploy 指定部署和运行服务相关配置,只能再Swarm模式使用
environment 添加环境变量
networks 加入网络
ports 暴露容器端口,与-p相同,但是端口号必须大于60
volumts 挂载宿主机路径或者命令卷
restart 重启策略,默认no,always, on-failure,unless-stoped
hostname 容器主机名

build:构造一个镜像时候的一个定义方式

dockerfile:方式是使用dockerfile的方式构建

context:服务docerfile文件的路径

images:可以指定使用的镜像名字,例如:images: 镜像名,注意:后面有个空格

command:执行一个语句

container name:用于指定容器的名称,因为容器名字是唯一的。如果指定自定义名称,则无法scale(设置副本集)

#副本集:将一个镜像制作成多个容器,这多个容器之间,运行环境等方面都是一模一样。当容器架构中的一个容器挂掉之后,可以直接启动一个相同的容器,用以保持副本集的数量,这是副本集的概念,同样也是K8s的核心。可以提高微服务的速度,提高容灾,高并发性能

deploy:是一个控制器,在k8s中是控制管理副本集的一个插件

restart:一种重启策略,默认是关闭之后不启动,如果always则是不管是手动关闭还是非手动关闭,都会自动把关闭状态的容器启动,unless-stoped只拉取关闭状态的容器,on-failure,只会启动容器返回码非零的容器

3、Compose在外部的常用命令

字段 描述
build 重新构建一个镜像信息
ps 列出容器当前docker compose所控制的容器
up 创建以及启动容器
exec 在容器内执行命令
scale 指定一个服务器的启动数量,相当于副本集的数量
top 显示容器进程,所有docker compose控制的进程启动的容器
logs 查看容器的输出信息
down 删除容器、网络、数据卷和镜像
stop/start/restart 停止/启动/重启容器服务

docker compose基本使用格式:docker-compose [options] [COMMAND] [ARGS…]

docker-compose选项

  1. –verbose:输出
赞(0)
分享到: 更多 (0)