docker compose容器编排yml文件编写问题

本人在编写docker-compose.yml文件时网络模式设置一直有问题,然后才去找docker-compose文件里面配置的字段各自的含义,特摘抄如下常用配置字段:

Docker Compose配置常用字段

字段描述
build指定Dockerfile文件名(要指定的Dockerfile文件需要在build标签的子级标签中用dockefile标签指定)
dockerfile构建镜像上下文路径
context可以是dockerfile路径,或者时执行git仓库的url地址
images指定镜像(已存在)
command执行命令,会覆盖容器启动后默认执行的命令(会覆盖dockefile中的CMD指令)
container_name指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale指定容器数量。
deploy指定部署和运行服务相关配置,只能在swarm模式使用
environment添加环境变量
networks加入网络,引用顶级networks下条目
network-mode设置容器的网络模式
ports暴露容器端口,与-p相同,但是端口不能低于60
volumes挂载一个宿主机目录或命令卷到容器,命令卷要在顶级volumes定义卷名称
volumes_from从另一个服务或容器挂载卷,
可选参数:ro和rw(仅版本‘2’支持)
hostname在容器内设置内核参数
links连接诶到另一个容器,- 服务名称[ : ]
privileged用来给容器root权限,注意是不安全的,true
restart重启策略,定义是否重启容器
1、no,默认策略,在容器退出时不重启容器
2、on-failure,在容器非正常退出时(退出状态非0),才会重启容器3、on-failure:
3 在容器非正常退出时,重启容器,最多重启3次
4、always,在容器退出时总是重启容器,
5、unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
depends_on此标签用于解决容器的依赖,启动先后问题。如启动应用容器,需要先启动数据库容器。php:depends_on:- apache- mysql

 源文章:Docker之compose介绍_docker-compose_辛辣天蝎666的博客-CSDN博客

微服务编排中使用可networks配置,总是无法配置到host网络模式,最后才发现需要用network-mode指定才可以指定。

顺带将自己总结的docker-compose命令也到下面:

compose常用命令

命令概述
docker-compose -h #查看帮助
docker-compose up #启动所有docker-compose服务
docker-compose up -d#启动所有docker-compose服务并后台运行
docker-compose down#停止并删除容器、网络、卷、镜像
docker-compose exec [yml里面的服务名称 ] #进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务名称 /bin/bash
docker-compose ps#展示当前docker-compose编排过的运行的所有容器
docker-compose top#展示当前docker-compose编排过的容器进程
docker-compose logs#yml里面的服务id #查看容器输出日志
docker-compose config#检查配置
docker-compose config -q#检查配置,有问题才输出
docker-compose restart#重启服务
docker-compose start#启动服务
docker-compose#停止服务

一个是docker-compose.yml配置文件,一个是compose命令

然后再次用命令编排容器

成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值