docker-compose基本操作

安装Docker Cpmpose

从 官方 GitHub Release 处直接下载编译好的二进制文件即可。
# 下载指令
curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 下载完成后没有执行权限, 添加执行权限
chmod +x /usr/local/bin/docker-compose

验证

# 查看版本指令
[root@worker ~]# docker-compose version

名字必须是docker-compose.yml

# python版本号
version: '3.0'
# 服务列表
services:
  # 服务名 随便起,不重名就行
  tomcat:
  	# 开机启动
    restart: always 
    # 镜像名 (本地拥有的镜像或者公共仓库的镜像)
    image: tomcat
    # 容器名
    container_name: tomcat
    # 端口映射规则
    ports:
      - 8080:8080
    # 数据卷配置,和端口规则一样 冒号左边是宿主机, 右边是容器
    volumes:
    # 以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器。
      - ./webapps:/usr/local/tomcat/webapps.dist
    # 环境变量
    environment:
      TZ: Asia/Shanghai
启动所有服务
docker-compose up -d
停止或启动容器
docker-compose [stop|start]
查看服务容器的输出
docker-compose logs
删除所有(停止状态的)服务容器。
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷
docker-compose rm

ports

ports:  
- "80:80"         # 绑定容器的80端口到主机的80端口  
- "9000:80"       # 绑定容器的80端口到主机的9000端口  
- "443"           # 绑定容器的443端口到主机的任意端口,容器启动时随机分配绑定的主机端口号

expose

expose:
 - "3000"
 - "8000"

network_mode

network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

secrets

version: "3.1"
services:

mysql:
  image: mysql
  environment:
    MYSQL_ROOT_PASSWORD_FILE: /run/secrets/my_secret
  secrets:
    - my_secret

secrets:
  my_secret:
    file: ./my_secret.txt

extra_hosts

添加主机名的标签,会在/etc/hosts文件中添加一些记录。
extra_hosts:
 - "somehost:162.242.195.82"
 - "otherhost:50.31.209.229"
启动后查看容器内部hosts:
162.242.195.82  somehost
50.31.209.229   otherhost

模板2

version: '2'
services:
  web1:
    image: nginx
    ports: 
      - "6061:80"
    container_name: "web1"
    networks:
      - dev
  web2:
    image: nginx
    ports: 
      - "6062:80"
    container_name: "web2"
    networks:
      - dev
      - pro
  web3:
    image: nginx
    ports: 
      - "6063:80"
    container_name: "web3"
    networks:
      - pro

networks:
  dev:
    driver: bridge
  pro:
    driver: bridge

posted on 2021-05-14 10:59  lodger47  阅读(174)  评论(0)    收藏  举报

导航