当前ec2实例正在运行,并且该Docker容器内部正在运行。 我有2个容器在EC2实例中运行。 1-应用容器。 2-数据库(CouchDb)容器。 我需要将数据库中的数据存储到EBS卷中。 我有一个docker-compose文件,我正在使用'docker-compose up'命令启动容器。
version: '2.1'
services:
web:
build: .
ports:
- "4200:4200"
- "7020:7020"
depends_on:
couchdb:
condition: "service_healthy"
volumes:
- ./app:/usr/src/app/app
couchdb:
image: "couchdb:1.7.1"
ports:
- "5984:5984"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5984/"]
interval: 10s
timeout: 90s
retries: 9
答案 0 :(得分:0)
您需要将EC2实例目录与CouchDB容器绑定。
数据存储位置
重要说明:有几种存储数据的方式, 在Docker容器中运行的应用程序。我们鼓励使用 长沙发图片,以熟悉options available
在主机系统上的适当卷上创建数据目录,例如
/home/ec2-user/data
。像这样启动您的Sofadb容器:
$ docker run --name mycouchdb -v /home/ec2-user/data:/opt/couchdb/data -d couchdb:tag
该命令的
-v /home/ec2-user/data:/opt/couchdb/data
部分从以下位置挂载/home/ec2-user/data
目录: 容器内的基础主机系统为/opt/couchdb/data
, 默认情况下,CouchDB将在其中写入其数据文件。
更新:
对于docker-compose
couchdb:
image: "couchdb:1.7.1"
volumes:
- /home/ec2-user/data:/opt/couchdb/data
ports:
- "5984:5984"