当前位置: 首页 > 知识库问答 >
问题:

Docker-Compose+命令

宦树
2023-03-14
command: python3 manage.py collectstatic --noinput
command: python3 manage.py migrate --noinput
command: python3 manage.py runserver 0.0.0.0:8000
# Pull base image
FROM python:3

# Set environment varibles
ENV PYTHONUNBUFFERED 1

# Set work directory
RUN mkdir /code
WORKDIR /code

# Install dependencies
RUN pip install --upgrade pip
RUN pip install pipenv
COPY ./Pipfile /code/Pipfile
RUN pipenv install --deploy --system --skip-lock --dev

# Copy project
COPY . /code/

我的码头工人-作曲:

version: '3'

services:
  db:
    image: postgres
    ports:
      - "5432:5432"
  web:
    build: .
    command: python3 manage.py collectstatic --noinput
    command: python3 manage.py migrate --noinput
    command: python3 manage.py runserver 0.0.0.0:8000
    env_file: .env
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

EntryPoint.sh

#!/bin/bash

# Collect static files
echo "Collect static files"
python manage.py collectstatic --noinput

# Apply database migrations
echo "Apply database migrations"
python manage.py migrate

# Start server
echo "Starting server"
python manage.py runserver 0.0.0.0:8000

共有1个答案

谭文林
2023-03-14

这是因为您只能有一个命令

您可以像这样组合多个命令:

command: sh -c "python3 manage.py collectstatic --noinput && python3 manage.py migrate --noinput && python3 manage.py runserver 0.0.0.0:8000"

或者,正如您提到的入口点,您可以在Dockerfile或docker-compose.yml中指定入口点。确保删除这些命令,因为您不再需要它们了。

 类似资料:
  • TODO 参考: Docker官方文档:https://docs.docker.com/compose/overview/ Dokcer教程:http://wiki.jikexueyuan.com/project/docker-technology-and-combat/install.html

  • image 指定镜像名称或者镜像id,如果该镜像在本地不存在,Compose会尝试pull下来。 示例: image: java build 指定Dockerfile文件的路径。可以是一个路径,例如: build: ./dir 也可以是一个对象,用以指定Dockerfile和参数,例如: build: context: ./dir dockerfile: Dockerfile-altern

  • 主要内容:实例,Compose 安装,使用,composetest/app.py 文件代码,docker-compose.yml 配置文件,yml 配置指令参考Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。 Compose 使用的三个步骤:

  • 使用 Docker Compose,您可以使用一个命令启动本地测试网络。 需求 安装 tendermint 安装 docker 安装 docker-compose 构建 构建 tendermint 二进制文件和可选 tendermint/localnode docker 映像。 注意,二进制文件将被挂载到容器中,因此可以在不重新构建镜像的情况下更新它。 cd $GOPATH/src/github.

  • Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。 本章将介绍 Compose 项目情况以及安装和使用。

  • 在安装 Compose之前,你需要先安装好 Docker 。然后你需要使用 curl 指令来安装 Compose 安装 Docker 首先,你需要安装大于或者等于1compose/.6版本的 Docker 。 MAC OSX 安装指南 Ubuntu 安装指南 其它系统安装指南 安装 Compose 运行下边的命令来安装 Compose: curl -L https://githubcompose/