gpt4 book ai didi

docker - 如何将 SSH 从 JENKINS 主机复制到 DOCKER 容器中?

转载 作者:行者123 更新时间:2023-12-02 21:12:33 25 4
gpt4 key购买 nike

我无法使用 Dockerfile 将文件从主机复制到容器中,因为我只是 not allowed to ,如 Docker 文档中所述:

The path must be inside the context of the build; you cannot COPY ../something /something, because the first step of a docker build is to send the context directory (and subdirectories) to the docker daemon.



我也无法从 jenkins 作业中这样做,因为作业命令在 docker 容器的 shell 内运行,无法与父级(即 jenkins 主机)交谈。

This jenkins plugin本来可以挽救生命,但正如第一节所述:由于 Unresolved 安全漏洞,此插件的分发已暂停。

最佳答案

这就是我使用 Dockerfile 将文件从主机复制到 docker 镜像的方式

我有一个名为 的文件夹 Tomcat

在里面,我有一个 tar fileDockerfile
执行整个过程的命令只是为了理解

$ 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

现在你在 docker 容器内
# ls
apache-tomcat-7.0.84.tar.gz

如您所见,我可以复制 apache-tomcat-7.0.84.tar.gz从主机到 Docker 容器。

请注意您共享的 Docker 文档第一行

The path must be inside the context of the build;



因此,只要在构建期间可以访问路径,您就可以复制。

另一种方法是使用音量
docker run -itd -v $(pwd)/somefolder:/home/test  --name test1  testserver

通知 -v 范围

你告诉 Docker 挂载 Current_Directory/somefolder到 Docker 的路径 /home/test
一旦容器启动并运行,您可以简单地将任何文件复制到 $(pwd)/somefolder它会被复制
容器内 /home/test

关于docker - 如何将 SSH 从 JENKINS 主机复制到 DOCKER 容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53694264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com