python - 使用 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"]
解决方案
推荐阅读
- java - 问题 Eclipse Not Found ExternalContext 作为资源
- python - 使用 hex.genmodel API 使用 H2O MOJO 模型进行预测
- javascript - 使读取和预览代码适用于多个文件输入
- excel - 使用 VBA 宏在公式中编辑书籍链接
- python - 从数组列表中创建一个 10x10 的网格
- html - XpathResultMatchers xpath - 按类属性查找元素
- node.js - fs.writeFileSync - 将 JSON 写入文件总是写入一个空对象
- ios - 标签栏项目被拖出
- php - 更改 WordPress 帖子 ID 长度
- encryption - 对称 AES 加密概念