docker-compose的一些用法(定义hosts,健康检查,指定MAC地址,时区,特权模式启动)

前言

相关文档:
《docker-compose的yml文件中常用选项》
《docker-compose网络》
《docker-compose限制容器cpu和内存》
《docker-compose的build使用》

1. 定义 hosts

version: '3.7'
services:
  minio1:
    image: harbocto.xxx.com.cn/public/minio:RELEASE.2021-02-01T22-56-52Z
    ……
    extra_hosts:
      - "minio1:10.10.xxx.125"
      - "minio2:10.10.xxx.126"
      - "minio3:10.10.xxx.127"
      - "minio4:10.10.xxx.131"

2. 健康检查

version: '3.7'
services:
  minio1:
    image: harbocto.xxx.com.cn/public/minio:RELEASE.2021-02-01T22-56-52Z
    ……
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

3. 指定MAC地址

  • 语法
mac_address: MAC地址
  • 示例
version: "3.1"
services:
  coreservice:
    container_name: core-service-003
    image: java
    ports:
      - 8030:8000
      - 8031:8001
      - 8032:8002
    mac_address: 00:16:3e:08:9f:8f
    volumes:
      - /data/coreservice003:/opt/coreservice
    command: /opt/coreservice/start.sh

4. 指定时区

4.1 方法一:变量指定

注意: 本方法是否生效要看镜像是否支持以变量指定时区

  • 语法
    environment:
      TZ: Asia/Shanghai
  • 示例
version: "3.1"
services:
  mysql:
    image: harbocto.boe.com.cn/public/mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxx
      MYSQL_DATABASE: devops
      TZ: Asia/Shanghai
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql

4.2 方法二:挂载时区文件

  • 方法
    /usr/share/zoneinfo/Asia/Shanghai 将载到镜像中 /etc/localtime 或 /usr/share/zoneinfo/Asia/Shanghai
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/usr/share/zoneinfo/Asia/Shanghai:ro
  • 示例
version: "3.1"
services:
  mysql:
    image: harbocto.boe.com.cn/public/mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxx
      MYSQL_DATABASE: devops
      TZ: Asia/Shanghai
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql
      - /usr/share/zoneinfo/Asia/Shanghai:/usr/share/zoneinfo/Asia/Shanghai:ro

5. 特权模式

    privileged: true
  • 示例
version: "3.1"
services:
  emqx:
    image: "emqx/emqx:4.3.11"
    container_name: "iot-emqx"
    privileged: true
    environment:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值