详解docker-compose.yml文件常用模版命令

注:在编写docker-compose.yml文件时,所有的冒号(:)、短横线(-)后面都需要加一个空格。

1、command

覆盖容器启动后默认执行的命令

command: echo "hello"

2、container_name

指定容器名称。默认将会使用 项目名称_服务名称_序号 这样的格式

container_name: docker-web-container

3、configs

仅用于Swarm mode

4、deploy

仅用于Swarm mode

5、devices

指定设备映射关系

devices:
  - "/dev/dir:/dev/dir"

6、depends_on

解决容器的依赖、启动先后,容器之间的通讯的问题。

7、links

连接到其他容器。注意:不推荐使用该指令,建议使用depends_on。

应该使用docker network,建立网络,而docker run --network来连接特定网络。

或者使用version: ‘2' 和更高版本的docker-compose.yml直接定义自定义网络并使用。

8、dns

自定义DNS服务器。可以是一个值,也可以是一个列表。

dns: 8.8.8.8
dns:
  - 8.8.8.8
  - 114.114.114.114

9、environment

设置环境变量。可以使用数组或字典两种格式。只给定名称的变量会自动获取运行Compose主机上对应变量的值,可以用来防止泄露不必要的数据。

environment:
   MYSQL_ROOT_PASSWORD: 666666

10、expose

暴露端口,但不映射到宿主机,只被连接的服务访问。仅可以指定内部端口为参数。

11、extra_hosts

类似Docker中的–add-host参数,指定额外的host名称映射信息。会在启动后的服务容器中/etc/hosts文件中添加一个条目。如:8.8.8.8 googledns

12、healthcheck

通过命令检查容器是否健康运行

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost"]
  interval: 1m30s
  timeout: 10s
  retries: 3

13、image

指定为镜像名或镜像ID,如果镜像在本地不存在,Compose将会尝试拉取这个镜像

14、labels

为容器添加Docker元数据(metadata)信息。例如可以为容器添加辅助说明信息。

15、network_mode

设置网络模式。使用和docker run的–network参数一样的值。

network_mode: "bridge"
network_mode: "host"
network_mode: "none"

16、networks

配置容器连接的网络

networks:
  network-demo

17、ports

暴露端口信息,使用宿主端口:容器端口(HOST:CONTAINER)格式,或者仅仅指定容器的端口(宿主将会随机选择端)都可以。

ports:
      - "80:80"
      - "443:443"
      - "8081:8081"

18、volumes

数据卷所挂载路径设置,可以设置宿主机路径,同时支持相对路径

volumes:
      - ../Site:/data/www:rw
      - ./nginx/conf.d:/etc/nginx/conf.d:ro
      - ./nginx/cert:/etc/nginx/cert:ro
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./nginx/phpcgi.conf:/etc/nginx/phpcgi.conf:ro
      - ./nginx/fastcgi.conf:/etc/nginx/fastcgi.conf:ro
      - ./nginx/pathinfo.conf:/etc/nginx/pathinfo.conf:ro
      - ../logs/nginx:/var/log/nginx

19、ulimits

指定容器的ulimits限制值。

例如,指定最大进程数为65535,指定文件句柄数为20000(软限制,应用可以随时修改,不能超过硬限制)和 40000(系统硬限制,只能root用户提高)

ulimits:
  nproc: 65535
  nofile:
    soft: 20000
    hard: 40000

20、entrypoint

指定服务容器启动后执行的入口文件

entrypoint: /code/entrypoint.sh

21、user

指定容器中运行应用的用户名

22、working_dir

指定容器中工作目录

working_dir: /data/www

23、domainname

指定容器中搜索域名

domainname: your_domain.com

24、hostname

指定容器中主机名

25、mac_address

指定容器中mac地址

mac_address: 01-02-22-0A-0B

26、privileged

允许容器中运行一些特权命令

privileged: true

27、restart

指定容器退出后的重启策略为始终重启。在生产环境中推荐配置为 always 或者 unless-stopped

restart: always

28、read_only

以只读模式挂载容器的root文件系统,意味着不能对容器内容进行修改

read_only: true

29、stdin_open

打开标准输入,可以接受外部输入

stdin_open: true

30、tty

模拟一个伪终端

tty: true

到此这篇关于docker-compose.yml文件常用模版命令的文章就介绍到这了,更多相关docker-compose.yml模版命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker Compose常用命令详解

    1.Docker compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.compose以守护进程模式运行加-d选项 $ docker-compose up -d 3.查看有哪些服务,使用docker-compose ps命令,非常类似于 docker 的ps命令 4.查看compose日志 $ docker-compose logs web $ docker-compose lo

  • 详解如何使用Docker-Compose命令

    你可以通过多种方式来管理和部署Docker容器.你可以直接使用Docker命令.借助众多GUI工具中的一款(基于Web的工具和面向桌面客户端的工具),也可以选择走docker-compose这条路. Docker Compose是什么东东?Docker Compose用于创建容器及容器之间的连接.然而,docker-compose命令的用途实际上广泛得多.使用此命令可以:构建映像.扩展容器.修复容器.查看容器的输出.列出容器的公共端口等等. 那么如何使用docker-compose呢?不妨一探究

  • 详解docker-compose.yml文件常用模版命令

    注:在编写docker-compose.yml文件时,所有的冒号(:).短横线(-)后面都需要加一个空格. 1.command 覆盖容器启动后默认执行的命令 command: echo "hello" 2.container_name 指定容器名称.默认将会使用 项目名称_服务名称_序号 这样的格式 container_name: docker-web-container 3.configs 仅用于Swarm mode 4.deploy 仅用于Swarm mode 5.devices

  • 详解docker compose搭建lnmpr环境实现

    目录 使用docker-compose搭建lnmpr环境 介绍 软件架构 Compose 简介 具体文件内容docker-compose.yml 使用说明 使用docker-compose搭建lnmpr环境 本文环境 docker20.10,PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6.0 + Redis6.0 + Swoole2.0 介绍 docker-compose搭建PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6

  • 详解Docker Compose配置文件参数

    目录 1. image 2. build 3. command 4.container_name 5.depends_on 6.dns 7. tmpfs 8. entrypoint 9.env_file 10. environment 11. expose 12. external_links 13. extra_hosts 14. labels 15. links 16. logging 17. pid 18. ports 19. security_opt 20. stop_signal 21

  • 详解Docker Compose 中可用的环境变量问题

    Compose 的多个部分在某种情况下处理环境变量.本教程可以帮助你找到所需的信息. 1. 替换Compose文件中的环境变量 可以使用 shell 中的环境变量填充 Compose 文件中的值: web: image: "webapp:${TAG}" 更多信息请参考 Compose 文件手册中的 Variable substitution章节. 2. 设置容器中的环境变量 可以通过 environment 关键字设置服务容器中的环境变量,就跟使用 docker run -e VARI

  • 详解docker compose 用法

    docker compose的使用场景 我们开发的时候,一个应用往往依赖多个服务.采用传统的docker run方式,要挨个启动多个服务,甚至需要配置对应的网络,过程比较繁琐,很不方便. docker compose旨在通过将多服务的构建和依赖关系都编写在docker-compose.yml中,通过docker-compose命令,即可完成对整个服务集群的启动,关闭等操作. 一个基本的demo演示 demo的功能是一个简单的python程序,暴露一个web服务.该服务用于统计当前服务被访问的次数

  • 详解Docker创建Mysql容器并通过命令行连接到容器

    拉取网易蜂巢的mysql-server:5.6 docker pull hub.c.163.com/nce2/mysql:5.6 创建mysql5.6容器 1master+3个slave docker run --name mysql-master -d -P hub.c.163.com/nce2/mysql:5.6 docker run --name mysql-slave1 -d -P hub.c.163.com/nce2/mysql:5.6 docker run --name mysql-

  • 详解Docker在哪里保存日志文件

    目录 日志存储在哪里? 从容器内的应用程序查看日志 查看 Docker 守护进程日志 调试大多数 Linux 程序通常涉及检查日志文件,这可能是一个复杂的过程.但是,在 Docker 下的容器化环境中运行时,您需要使用更具体的工具来调试生产中的应用程序. 日志存储在哪里? 简单的答案是 Docker 将容器日志存储在其主要存储位置/var/lib/docker/. 每个容器都有一个特定于其 ID 的日志(完整 ID,而不是通常显示的缩短的 ID),您可以像这样访问它: /var/lib/dock

  • 详解Docker Swarm概念与用法

    Docker Swarm是Docker公司开发的容器集群管理服务.从1.12.0版本开始,已经是Docker安装后自带的一部分(捆绑软件)了,又称为Swarm Mode,无需额外安装. 与Kubernetes相比,Docker Swarm是一个简单的软件,似乎不堪大用.但是它与docker-compose兼容的优点,可以弥补一切.对于没有集群使用经验的小白,用Docker Swarm起步,是一个很好的选择. 概念 Docker Swarm,主要包含以下概念: Swarm Node Stack S

  • 详解Docker使用Linux iptables 和 Interfaces管理容器网络

    我使用docker至今已有一段时间了,与绝大部分的人一样,我被docker强大的功能和易用性深深的折服.简单方便是docker的核心之一,它强大的功能被抽象成了非常简单的命令.当我在使用和学习docker的时候,我很想知道docker在后台都做了一些什么事情,特别是在网络这一块(我最感兴趣的一块) 我找到了很多关于创建和操作容器网络的文档,但是关于docker如何使网络工作的却没有那么多. Docker广泛使用linux iptables和网桥接口,这篇文章是我如何用于创建容器网络的总结,大部分

  • 详解Docker镜像与容器的常见操作

    镜像加速器 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.国内很多云服务商都提供了国内加速器服务,例如: 网易云加速器 https://hub-mirror.c.163.com 阿里云加速器(需登录账号获取): https://cr.console.aliyun.com/cn-hangzhou/mirrors 国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务,具体请参考官方文档. 在CentOS7系统

随机推荐