Как скопировать SSH с хоста JENKINS в контейнер DOCKER? - PullRequest
0 голосов
/ 09 декабря 2018

Я не могу скопировать файл с хоста в контейнер, используя Dockerfile, потому что мне просто не разрешено , как указано в документации Docker:

Путь должен быть внутри контекста сборки;Вы не можете скопировать ../something / что-то, потому что первый шаг сборки docker - это отправить каталог контекста (и подкаталоги) демону docker.


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


Этот плагин jenkins мог бы быть спасителем жизни, но, как уже упоминалось в первом разделе: распространение этого плагина было приостановлено из-за нерешенных уязвимостей безопасности.

1 Ответ

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

Вот так я копирую файлы с хоста в образ докера, используя 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

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