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

 更新时间:2021年11月19日 11:58:30   作者:明日晴空  
这篇文章主要介绍了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模版命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docke更新应用程序的过程详解

    Docke更新应用程序的过程详解

    这篇文章主要介绍了Docke更新应用程序,在本节中,您学习了如何更新和重建容器,以及如何停止和删除容器,需要的朋友可以参考下
    2023-11-11
  • docker mysql镜像因为配置文件出现错误一直提示重启的解决

    docker mysql镜像因为配置文件出现错误一直提示重启的解决

    这篇文章主要介绍了docker mysql镜像因为配置文件出现错误一直提示重启的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker一键部署springcloud项目的方法

    Docker一键部署springcloud项目的方法

    本文主要介绍了Docker一键部署springcloud项目的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 如何连接docker中的MySQL容器

    如何连接docker中的MySQL容器

    这篇文章主要介绍了如何连接docker中的MySQL容器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 浅谈Docker 客户端和守护进程

    浅谈Docker 客户端和守护进程

    这篇文章主要介绍了浅谈Docker 客户端和守护进程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • docker-compose如何安装skywalking

    docker-compose如何安装skywalking

    这篇文章主要介绍了docker-compose如何安装skywalking问题,
    2024-01-01
  • 云原生Docker创建并进入mysql容器的全过程

    云原生Docker创建并进入mysql容器的全过程

    前面我们已经安装好了Docker,也简单了解了Docker,下面这篇文章主要给大家介绍了关于云原生Docker创建并进入mysql容器的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Docker部署前后端分离项目的三种方式小结

    Docker部署前后端分离项目的三种方式小结

    本文主要介绍了Docker部署前后端分离项目的三种方式小结,包含通过两个容器部署,通过compose编排容器自动部署和将前后端项目打成一个镜像部署的三种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • DockerCE之执行docker info出现两条警告信息及解决方案

    DockerCE之执行docker info出现两条警告信息及解决方案

    这篇文章主要介绍了DockerCE之执行docker info出现两条警告信息及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Docker基本概念和底层原理解析

    Docker基本概念和底层原理解析

    Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器,本文给大家介绍docker概念和底层原理,感兴趣的朋友一起看看吧
    2022-03-03

最新评论