Я изучаю docker, пытаюсь настроить его в своем проекте.
Я не могу сопоставить свой локальный каталог с контейнером docker. Как получить локальный каталог как том в контейнере docker?
См. Ниже Dockerfile:
FROM centos:7
RUN pwd
RUN ls
Вот и все. Мой docker -compose.yml содержит:
version: '3'
services:
first_demo:
container_name: first_container
image: first_image
build:
context: .
dockerfile: Dockerfile
volumes:
- ./files:/data/files
restart: always
Мой каталог содержит 2 файла и 1 папку
docker-compose.yml (f) Dockerfile (f) files (d)
Когда я запускаю docker-compose -f ./docker-compose.yml build
, я получаю следующий вывод:
Step 1/3 : FROM centos:7
---> 67fa590cfc1c
Step 2/3 : RUN pwd
---> Running in 0a89ef62ce9f
/
Removing intermediate container 0a89ef62ce9f
---> 48acbead537d
Step 3/3 : RUN ls
---> Running in c18f7f08b067
anaconda-post.log
bin
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
Removing intermediate container c18f7f08b067
Затем, когда я запускаю контейнер с docker run -d first_image tail -f /dev/null;
и s sh в нем, я все еще не вижу сопоставленный том "/ data / files"
drwxr-xr-x 2 root root 4096 Apr 11 2018 srv
drwxr-xr-x 2 root root 4096 Apr 11 2018 opt
drwxr-xr-x 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x 2 root root 4096 Apr 11 2018 media
drwxr-xr-x 2 root root 4096 Apr 11 2018 home
drwxr-xr-x 13 root root 4096 Aug 1 01:09 usr
lrwxrwxrwx 1 root root 8 Aug 1 01:09 sbin -> usr/sbin
lrwxrwxrwx 1 root root 9 Aug 1 01:09 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 7 Aug 1 01:09 lib -> usr/lib
lrwxrwxrwx 1 root root 7 Aug 1 01:09 bin -> usr/bin
drwxr-xr-x 18 root root 4096 Aug 1 01:09 var
drwxrwxrwt 7 root root 4096 Aug 1 01:10 tmp
drwxr-xr-x 11 root root 4096 Aug 1 01:10 run
dr-xr-x--- 2 root root 4096 Aug 1 01:10 root
-rw-r--r-- 1 root root 12090 Aug 1 01:10 anaconda-post.log
dr-xr-xr-x 13 root root 0 Jan 7 13:03 sys
drwxr-xr-x 1 root root 4096 Jan 7 13:39 etc
dr-xr-xr-x 467 root root 0 Jan 7 13:39 proc
drwxr-xr-x 5 root root 340 Jan 7 13:39 dev