Python 一个docker容器如何修改另一个docker容器的文件?
我的docker compose文件如下所示:Python 一个docker容器如何修改另一个docker容器的文件?,python,django,docker,docker-compose,containers,Python,Django,Docker,Docker Compose,Containers,我的docker compose文件如下所示: version: '3' services: db: image: mongo:4.2 container_name: mongo-db restart: always environment: MONGO_INITDB_DATABASE: VMcluster ports: - "16006:27017" volumes: - ./initdb.js:/doc
version: '3'
services:
db:
image: mongo:4.2
container_name: mongo-db
restart: always
environment:
MONGO_INITDB_DATABASE: VMcluster
ports:
- "16006:27017"
volumes:
- ./initdb.js:/docker-entrypoint-initdb.d/initdb.js
web:
build:
context: .
dockerfile: Dockerfile_Web
command: python manage.py runserver 0.0.0.0:8000
container_name: cluster-monitor-web
volumes:
- .:/vmCluster_service
ports:
- "9900:8000"
depends_on:
- db
cronjobs:
build:
context: .
dockerfile: Dockerfile_Cron
command: ["cron", "-f"]
container_name: cluster-monitor-cron
我想实现一个特性,用户应该能够从Django web更新crontab。我已经完成了Django部分,即后端的python代码。但是Django web容器无法访问crontab容器。
如何使Django web容器访问crontab容器并更新crontab
Im使用django中的模块,该模块引发错误:
“[Errno 2]没有这样的文件或目录:'/usr/bin/crontab':
“/usr/bin/crontab”
有一个解决方法-如果您已将两个容器安装在同一系统文件夹上,请尝试设置命名管道(基于文件的队列)并在crontab容器中编写侦听器。检查此-@skybank您的意思是我必须使用类似的工具?您基本上需要一个介质将命令从一个容器传输到另一个容器。一端是生产者,另一端是消费者。卡夫卡适合这个用例,但是如果你的规模很小的话,它可能是一个过度的杀伤力。