我有一个运行简单Web应用程序的Docker容器。该容器通过Docker Compose与以下docker-compose.yml文件链接到另外两个容器:
version: '2'
services:
mongo_service:
image: mongo
command: mongod
ports:
- '27017:27017'
tomcat_service:
image: 'bitnami/tomcat:latest'
ports:
- '8080:8080'
web:
# gain access to linked containers
links:
- mongo_service
- tomcat_service
# explicitly declare service dependencies
depends_on:
- mongo_service
- tomcat_service
# set environment variables
environment:
PYTHONUNBUFFERED: 'true'
# use the image from the Dockerfile in the cwd
build: .
ports:
- '8000:8000'
web
容器启动后,我想在/bitnami/tomcat/data/
容器上向tomcat_service
写一些内容。我尝试从web
容器中写入该磁盘位置,但我得到了一个异常:
没有这样的文件或目录:' / bitnami / tomcat / data /'
有谁知道我能做什么才能从tomcat_service
容器写入web
容器?我非常感谢其他人可以就此问题提出的建议!
答案 0 :(得分:2)
如果您希望一个服务写入其他服务,则必须使用docker卷。如果web写入someFolderName,则tomcat_service中将存在相同的文件。
version: '2'
services:
tomcat_service:
image: 'bitnami/tomcat:latest'
volumes:
- my_shared_data:/bitnami/tomcat/data/
web:
volumes:
- my_shared_data:/someFolderName
volumes:
my_shared_data:
volumes
中的数据仍然存在,即使您下次重新创建docker容器,它们也可用。在docker容器中写入一些数据时,应始终使用docker卷。