Docker是否覆盖文件?

时间:2016-10-28 16:33:43

标签: mongodb docker

我基于mongo:latest创建了简单图像。我的Dockerfile只是

FROM mongo:3.3
MAINTAINER developer@encode.cz

现在,当我通过cmd docker run my-mongo mongod运行它时,我没有收到/data/db错误。但是在mongo基础图像中显然有RUN mkdir /data/db。纯mongo基本图像也按预期工作。

为什么我的自定义图像中的文件夹不在基本图像中?

1 个答案:

答案 0 :(得分:1)

我认为您在测试方式上存在问题,或者我不太了解您的问题。我测试了官方形象:

docker run -d --name mongo mongo:3.3 mongod
docker exec -it mongo bash -c 'ls -la /data/db'

total 192
drwxr-xr-x 4 mongodb mongodb  4096 Oct 28 18:11 .
drwxr-xr-x 4 root    root     4096 Oct 21 20:47 ..
-rw-r--r-- 1 mongodb mongodb    46 Oct 28 17:56 WiredTiger
-rw-r--r-- 1 mongodb mongodb    21 Oct 28 17:56 WiredTiger.lock
-rw-r--r-- 1 mongodb mongodb   935 Oct 28 18:11 WiredTiger.turtle
-rw-r--r-- 1 mongodb mongodb 40960 Oct 28 18:11 WiredTiger.wt
-rw-r--r-- 1 mongodb mongodb  4096 Oct 28 17:56 WiredTigerLAS.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 _mdb_catalog.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 collection-0--3585910680230311914.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 collection-2--3585910680230311914.wt
drwxr-xr-x 2 mongodb mongodb  4096 Oct 28 18:11 diagnostic.data
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 index-1--3585910680230311914.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 index-3--3585910680230311914.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 index-4--3585910680230311914.wt
drwxr-xr-x 2 mongodb mongodb  4096 Oct 28 17:56 journal
-rw-r--r-- 1 mongodb mongodb     2 Oct 28 17:56 mongod.lock
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 17:57 sizeStorer.wt
-rw-r--r-- 1 mongodb mongodb    95 Oct 28 17:56 storage.bson

然后我用你的两行创建了一个Dockerfile:

docker build -t my-mongo .
docker run -d --name my-mongo my-mongo mongod
docker exec -it my-mongo bash -c 'ls -la /data/db'

total 192
drwxr-xr-x 4 mongodb mongodb  4096 Oct 28 18:12 .
drwxr-xr-x 4 root    root     4096 Oct 21 20:47 ..
-rw-r--r-- 1 mongodb mongodb    46 Oct 28 18:06 WiredTiger
-rw-r--r-- 1 mongodb mongodb    21 Oct 28 18:06 WiredTiger.lock
-rw-r--r-- 1 mongodb mongodb   932 Oct 28 18:12 WiredTiger.turtle
-rw-r--r-- 1 mongodb mongodb 40960 Oct 28 18:12 WiredTiger.wt
-rw-r--r-- 1 mongodb mongodb  4096 Oct 28 18:06 WiredTigerLAS.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 _mdb_catalog.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 collection-0-683121925029568227.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 collection-2-683121925029568227.wt
drwxr-xr-x 2 mongodb mongodb  4096 Oct 28 18:13 diagnostic.data
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 index-1-683121925029568227.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 index-3-683121925029568227.wt
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 index-4-683121925029568227.wt
drwxr-xr-x 2 mongodb mongodb  4096 Oct 28 18:06 journal
-rw-r--r-- 1 mongodb mongodb     2 Oct 28 18:06 mongod.lock
-rw-r--r-- 1 mongodb mongodb 16384 Oct 28 18:07 sizeStorer.wt
-rw-r--r-- 1 mongodb mongodb    95 Oct 28 18:06 storage.bson

请注意,/ data / db目录被声明为卷。如果您遇到问题,请重新启动docker守护程序并检查可用磁盘空间df -h

此致