docker-compose的yml文件中常用选项

2021-12-21  本文已影响0人  玄德公笔记

@[toc]

1. 示例

version: '3'
services:
  auth:
    image: 'harbocto.xxx.com.cn/crust/crust-auth:1.0.0'
    restart: always
    container_name: auth
    networks:
      - crust-net
    volumes:
      - ./logs:/app/logs/
    ports:
      - '10001:10001'
    environment:
      JAVA_OPTS: "-Djava.security.egd=file:/dev/./urandom"
      WAIT_HOSTS: "redis:6379,postgre:5432,nacos:8848"
      NACOS_SERVER: "nacos:8848"
      NACOS_SERVER_USERNAME: "nacos"
      NACOS_SERVER_PASSWORD: "nacos"
  user:
    image: 'harbocto.xxx.com.cn/crust/crust-user:1.0.0'
    restart: always
    container_name: user
    networks:
      - crust-net
    volumes:
      - ./logs:/app/logs/
    ports:
      - '10002:10002'
    environment:
      JAVA_OPTS: "-Djava.security.egd=file:/dev/./urandom"
      WAIT_HOSTS: "redis:6379,postgre:5432,nacos:8848"
      NACOS_SERVER: "nacos:8848"
      NACOS_SERVER_USERNAME: "nacos"
      NACOS_SERVER_PASSWORD: "nacos"
  gateway:
    image: 'harbocto.xxx.com.cn/crust/crust-gateway:1.0.0'
    restart: always
    container_name: gateway
    depends_on:
    - auth
    networks:
      - crust-net
    volumes:
      - ./logs:/app/logs/
    ports:
      - '10000:10000'
    environment:
      JAVA_OPTS: "-Djava.security.egd=file:/dev/./urandom"
      WAIT_HOSTS: "auth:10001,redis:6379,postgre:5432,nacos:8848"
      NACOS_SERVER: "nacos:8848"
      NACOS_SERVER_USERNAME: "nacos"
      NACOS_SERVER_PASSWORD: "nacos"
networks:
 crust-net:
   external:
     name: postgre_crust-net

2. 常用选项

2.1 images

2.2 restart

restart: always

no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

2.3 container_name

container_name: auth

2.4 ports

    ports:
     - '10002:10002'

2.5 depends_on

version: '2'
services:
  user:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgre

说明:user服务依赖于db和redis。

2.6 volumes

    volumes:
      - ./logs:/app/logs/

2.7 environment

《docker-compose中变量的使用》

2.8 networks

《docker-compose网络》

2.9 command

command: ["/bin/sh","-c","while true;do echo hello;sleep 1;done"]

运行如下:


在这里插入图片描述
上一篇 下一篇

猜你喜欢

热点阅读