鍍金池/ 問答/Java  Python  Linux/ 如何在docker-compose.yml文件中command執(zhí)行多條命令?

如何在docker-compose.yml文件中command執(zhí)行多條命令?

問題描述

我想使用docker將自己的Django項目打包,然后用docker-compose進行服務(wù)編排,把Django項目需要的數(shù)據(jù)庫也運行起來。假設(shè)在docker-compose.yml中的內(nèi)容如下:

version: "3"
services:
    web:
        image: my_project:latest
        ports:
          - 8000:8000
        command: python3 manage.py runserver 0.0.0.0:8000
        depends_on:
          - postgres
    postgres:
        image: postgres

在運行python3 manage.py runserver 0.0.0.0:8000之前,我想先用python3 manage.py migrate來同步一下數(shù)據(jù)庫的結(jié)構(gòu)。請問我應(yīng)該在哪里加入這個命令?

回答
編輯回答
終相守

如果有別的更長的腳本,需要換行寫的話,用以下寫法

command:
  - /bin/sh
  - -c
  - |
    python3 manage.py migrate
    # ...隨意添加任意腳本...
    python3 manage.py runserver 0.0.0.0:8000

參考來源https://github.com/docker-lib...

2018年2月4日 16:44
編輯回答
爆扎
command: python3 manage.py migrate && python3 manage.py runserver 0.0.0.0:8000
2017年2月2日 02:04