首页 > 解决方案 > 使用 Dockerfile 中的 ENTRYPOINT 标记和 docker-compose

问题描述

我有一个带有一些代码的 python 项目。我的main.py文件提供了运行我所有代码的正确指令。我需要跑步python main.py

对于这个项目,我写了一个Dockerfile带有ENTRYPOINT标签的。当我使用docker build命令构建代码然后运行它时,它运行良好。

现在,我正在尝试使用docker-compose而不是docker. 问题是标签(来自我的 Dockerfile)在我的文件ENTRYPOINT中不起作用。docker-compose.yml

确实,我需要进入我的容器并执行python main.py

我怎样才能让我的ENTRYPOINT理解为docker-compose?你能帮助我吗?

docker-compose.yml

version: '2'
services:
  my-service:
    container_name: test
    build:
      context: ..
      dockerfile: ./deploy/Dockerfile
    volumes:
      - ../config.json:/app/config.json
    environment:
      DOCKER_APP: "True"

Dockerfile

FROM python:3.8-slim-buster

RUN apt-get update; apt-get install -y git

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY project/* app/

WORKDIR app/

ENTRYPOINT ["python3", "main.py"]

标签: pythondockerdocker-compose

解决方案


推荐阅读