【发布时间】:2020-12-21 15:18:31
【问题描述】:
我创建了一个 docker-compose yml 文件来在 docker 容器中运行 cron-job。
将在 docker 容器内运行的 cron-job 必须运行 python 脚本并通过 redis- 连接到 mysql 和 redis -哨兵。
Cron-job 需要 python 和需要的 python-dependencies(mysql 和 redis sentinel) 安装在 docker 容器中才能成功运行 python 脚本。
这是我的 docker-compose yml 文件
version: '3'
services:
cron-job:
image: alpine:3.10
command: crond -f -d 8
volumes:
- /Users/anshul/cron:/etc/crontabs/root:z
restart: unless-stopped
networks:
default:
external:
name: cnet
我需要在此处进行哪些更改才能在 docker 容器上安装 python 和所需的依赖项,这将在运行此 compose 文件后出现。
【问题讨论】:
-
直接使用 python 图像而不是 alpine 可能会更好。高山对您有要求吗?
-
不,我不需要 alpine,但是如果我使用 python 映像,那么 mysql 和 redis 依赖项呢。
-
如果你还想在docker中运行它们,mysql和redis必须是单独的服务
-
它们都应该在同一个 docker-compose 文件中以共享同一个网络。那么你可能在你的 requirements.txt 中拥有所有需要的依赖项(如@mikhail-pashkov 的回答中所述)
-
好的,然后按照 aswer 中的说明安装您的要求。
标签: python mysql docker docker-compose redis-sentinel