docker-compose


systemctl stop firewalld
systemctl disable firewalld

1、安装docker-compose

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#赋限
sudo chmod +x /usr/local/bin/docker-compose

#创建软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#查看版本号

docker-compose --version

2、创建docker-compose.yml  #示例

version: '2.2'
services:
  web:
    image: ImagePath:version
    ports:
      - "80:80"
    container_name: web
    volumes:
      - /home/app/nginx/logs:/home/app/nginx/logs
      - /home/app/nginx/conf/nginx.conf:/home/app/nginx/conf/nginx.conf
services:
  app:
    image: ImagePath:version
    ports:
      - "8080:8080"
    container_name: app
    volumes:
      - /home/app/nginx/log:/home/app/nginx/log
      - /home/app/nginx/config:/home/app/nginx/config

3、使用docker-compose命令启动容器

docker-compose up -d

4、其它配置

depends_on 依赖于其他服务
version: "3.7"
services:
  web:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgres

指定dns

dns: 114.114.114.114

覆盖默认的entrypointentrypoint: /code/entrypoint.sh

Environment 环境变量
environment:
  - RACK_ENV=development
  - SHOW=true
  - SESSION_SECRET

Healthcheck 健康检测

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

Logging  doicker日志

logging:
 driver: syslog
 options:
   syslog-address: "tcp://192.168.1.100:9999"

重启策略

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

 


posted @ 2022-10-18 11:50  吃吃吃大王  阅读(55)  评论(0)    收藏  举报