Не удается смонтировать том в Docker CLI - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть следующий Dockerfile:

FROM continuumio/anaconda3
VOLUME /code

Я выполняю его, используя следующую командную строку:

docker run -it 626058fb269a --mount src="$(pwd)",target=/code,type=bind /bin/bash

Однако я получаю эту ошибку:

[FATAL tini (8)] exec --mount failed: No such file or directory

Очевидно, я что-то упустил.Если запустить docker, запустите -it 626058fb269a / bin / bash, каталог там, но, очевидно, ничего не смонтирован.Я просто хочу получить доступ к своему коду из контейнера.Как я могу установить это правильно?

1 Ответ

0 голосов
/ 24 декабря 2018

docker run интерпретирует все после имени изображения как часть «команды» командной строки (передается в качестве аргументов командной строки точке входа, если она есть, или запускается напрямую), поэтому ваша команда -

docker run \
  -it \                    # Container launch options
  626058fb269a \           # Image name
  \                        # Command and its arguments follow
  --mount src="$(pwd)",target=/code,type=bind /bin/bash

Вам не нужно объявлять VOLUME в Dockerfile для монтирования именованного тома или каталога хоста в контейнер, поэтому для вашего использования пользовательский образ ничего не добавляет для вас.Я бы, вероятно, предложил что-то вроде

docker run \
  --rm -it \               # Container launch options
  --mount src="$(pwd)",target=/code,type=bind \
  continuumio/anaconda3 \  # Image name
  /bin/bash                # Command and its arguments

(еще лучше, разработайте и протестируйте приложение локально без Docker, затем скопируйте его в Dockerfile, чтобы вы могли запустить образ без необходимости отдельного копированиявокруг кода приложения.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...