Backend - docker-compose.yml

目录

一、结构

(一)version

1. 作用

2. 写法

(二)services

1. 作用

(三)build

1. 作用

2. 写法

(1)第一种:详细写法

(2)第二种:简单写法

(四)depends_on

1. 作用

2. 写法

(五)restart

1. 作用

2. 写法

(六)volumes 

1. 作用

2. 写法

二、完整示例


一、结构

(一)version

1. 作用

        指定Docker Compose 文件的版本。

2. 写法

version: '3.8'

(二)services

1. 作用

        services里有web、app、db等不同服务配置。后面有细讲。

(三)build

1. 作用

        配置 dockerfile 信息。

2. 写法

(1)第一种:详细写法
build:
    context: ./app  # 指向dockerfile和上下文存放的位置
    dockerfile: Dockerfile  # 是dockerfile文件名
(2)第二种:简单写法
build: .  # 当dockerfile和上下文都在当前目录,则直接指定当前目录构建上下文。

        注意:其中,上下文指一个目录(或目录的集合),它包含了Dockerfile以及构建镜像所需的所有文件和目录。

(四)depends_on

1. 作用

        配置服务顺序。

2. 写法

web:
    .  .  .
    depends_on:
    - db  # 表示先执行db,再web

(五)restart

1. 作用

        配置重启。

2. 写法

restart: always

(六)volumes 

1. 作用

        将宿主机当前目录挂载到容器中。

        其中,宿主机上的文件和目录会在容器中可见;并且容器目录的所有更改也都会保存在宿主机上。

2. 写法

volumes:
      - .:/app # 冒号前的. 表示宿主机当前所在目录,冒号后的/app表示容器目录

二、完整示例

version: '3'
services:     
    bookweb:  # 自定义容器启动时的app名
        image: 指定镜像档名(例如:生成镜像时自定义镜像名是bookly,则该处填写bookly。如果未指定image,则最终生成的image镜像名是项目文件夹名_bookweb)

        build: .  # 当dockerfile和上下文都在当前目录,则直接指定当前目录构建上下文。上下文是一个目录(或目录的集合),它包含了 Dockerfile 以及构建镜像所需的所有文件和目录。

        restart: always

        command: python manage.py runserver 0.0.0.0:8006  # 自定义项目启动的执行文件是manage.py

        ports:

            - "8006:8006" # 设定端口前,先检查该端口是否被docker中的其他容器占用

        volumes:  # 宿主机上的文件和目录会在容器中可见,并且容器对 /test_dir/mybook 目录的所有更改都会保存在宿主机上。

            - .:/test_dir/mybook  # 将宿主机当前目录挂载到容器中(.指的是宿主机的当前目录,/test_dir/mybook指的是容器目录) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值