docker -создание привязки файла тома для подключения к хосту - PullRequest
0 голосов
/ 21 марта 2020

Я прочитал на этом уроке , что при создании файла docker-compose.yml и привязке томов монтирования, если вы не создаете папку на своем хосте, при запуске папки docker-compose up будет автоматически создан и заполнен содержимым папки контейнера.

Вот цитата:

Тогда вы должны связать том двух папок. В / etc / nginx хранятся все ваши файлы конфигурации, а в / etc / ssl / private хранятся ваши SSL-сертификаты. ОЧЕНЬ важно, чтобы ваша папка config НЕ существовала на вашем хосте при первом запуске контейнера. Когда вы запускаете контейнер с помощью docker -compose, он автоматически создает папку и заполняет ее содержимым контейнера. Если вы создали пустую папку конфигурации на вашем хосте, она смонтирует ее, и папка внутри контейнера будет пустой.

Но, похоже, у меня это не работает. Вот несколько вещей, которые я проверил:

  • Мой docker не работает как root. Я создал группу docker на своем компьютере и добавил в нее своего пользователя, поэтому мне не нужно запускать sudo docker <command>
  • Я запускаю сервер Ubuntu 18 LTS
  • Это не так Не имеет значения, пытаюсь ли я подключить монтирование томов только для чтения или нет
  • При запуске docker-compose up создаются папки, но они принадлежат root пользователю
  • Созданные папка, принадлежащая пользователю root, пуста

Вот мой docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx
    container_name: reverse_nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "./html:/usr/share/nginx/html"
      - "./conf:/etc/nginx"
      - "./ssl:/etc/ssl/private"
    restart: unless-stopped

А вот что создано:

icare@icare:~/nginx
$ ls -lR
.:
total 16
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 conf
-rw-r--r-- 1 icare icare  269 Mar 20 15:27 docker-compose.yml
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 html
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 ssl

./conf:
total 0

./html:
total 0

./ssl:
total 0

Я не могу найти решение онлайн, и кажется, что человек спросил на github , и это было решено трудным путем (копирование файлов из контейнера, затем привязывание и монтирование всего), но я не могу помочь думаю, что есть другой способ. Или, может быть, учебник, которому я следую, устарел или не так?

...