Вот так я копирую файлы с хоста в образ докера, используя Dockerfile
У меня есть папка с именем tomcat
Внутри этого у меня есть tar file
иDockerfile
Команды для выполнения всего процесса только для понимания
$ pwd
/home/user/Documents/dockerfiles/tomcat/
$ ls
apache-tomcat-7.0.84.tar.gz Dockerfile
Пример файла Docker:
FROM ubuntu_docker
COPY apache-tomcat-7.0.84.tar.gz /home/test/
...
Dockerкоманды:
$ docker build -it testserver .
$ docker run -itd --name test1 testserver
$ docker exec -it bash
Теперь вы находитесь внутри контейнера докера
# ls
apache-tomcat-7.0.84.tar.gz
Как видите, я могу скопировать apache-tomcat-7.0.84.tar.gz
с хоста наКонтейнер Docker.
Обратите внимание на первую строку документации Docker, которой вы поделились
Путь должен быть внутри контекста сборки;
Так какПока путь доступен во время сборки, вы можете копировать.
Другой способ сделать это - использовать том
docker run -itd -v $(pwd)/somefolder:/home/test --name test1 testserver
Уведомление -v параметр
Вы говорите Docker монтировать Current_Directory/somefolder
на путь Docker в /home/test
Как только контейнер запущен и работает, вы можете простоукажите любой файл на $(pwd)/somefolder
, и он будет скопирован в контейнер на /home/test