2016-10-28 3 views
0

Я создал простое изображение на основе mongo:latest. Мой Dockerfile простоПоддерживает ли Docker файлы?

FROM mongo:3.3 
MAINTAINER [email protected] 

Теперь, когда я запускаю его ЦМД docker run my-mongo mongod я не получаю /data/db ошибку. Но в изображении mongo есть RUN mkdir /data/db. Кроме того, чистое изображение базы mongo работает так, как ожидалось.

Почему эта папка отсутствует в моем обычном изображении, если она находится в базовом изображении?

+0

вы даете '/ владельца db'right/данных и права доступа? – gzc

+0

Я запустил свое изображение с помощью -ti args и даже не видел/папку данных. Но ожидал, что он будет по крайней мере создан предыдущим изображением. –

ответ

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 

Имейте в виду, данные/каталог/дб объявлен как объем. Если у вас возникли проблемы с п, что, перезапустите демон Докер и проверить ваш свободного места на диске df -h

С уважением

+0

Я просто сделал то же самое. Первый шаг точно такой же, как у вас, все работает нормально. Я даже попробовал «докеры проверить монго», чтобы увидеть источник крепления. Но когда я запускаю образ my-mongo, созданный по-прежнему, я получаю «Container not running ...» из-за той же ошибки -/data/db не создается. –

+0

Ну 1 предложение: тест на другой машине. 2 перезапустите демон докера. 3 проверьте версию докера –

+0

Да, я переустановил версию с 1.12.1 по 1.12.1, перестроил образ и теперь его ОК. Я не понимаю, два бессмысленных часа пропали даром. Я бы даже понял это, если бы сделал некоторые изменения в настройке докеров, но это была новая установка, и мой первый опыт работы с докером :( –

Смежные вопросы