相关疑难解决方法(0)

从docker里面运行docker是否可以?

我在Docker容器中运行Jenkins.我想知道Jenkins容器是否也可以成为Docker主机?我正在考虑的是从Jenkins内部为每个集成测试构建启动一个新的docker容器(以启动数据库,消息代理等).因此,在完成集成测试后应关闭容器.有没有理由避免以这种方式从另一个docker容器内运行docker容器?

jenkins docker docker-dind

156
推荐指数
4
解决办法
7万
查看次数

Docker:将目录从一个容器挂载到另一个容器

我有两个码头图像.其中一个docker镜像(来自第一个容器)在运行时会生成一些文件,这些文件需要由另一个容器使用.

我可以这样做吗?

docker dockerfile

21
推荐指数
3
解决办法
2万
查看次数

将当前目录中的文件名列表作为单个字符串发送到 Docker 容器的 STDIN

我有一个 Docker 容器,需要传递一个包含当前目录中文件名的字符串(字符串数组也可以,但据我所知这是不可能的)。

我获取容器内文件名的第一个策略是运行命令docker build -t doc-validate . && docker run doc-validate (printf "%s " $(ls -p | grep -v /)),将输出(printf "%s " $(ls -p | grep -v /))直接发送到容器的标准输入中,但是,我zsh: bad pattern: (printf %s Dockerfile作为错误返回;在我看来,容器或 shell 试图在某处执行“Dockerfile”,我不知道为什么会发生这种情况,因为printf直接在终端中运行相同的命令按预期工作(仅打印当前目录中的文件名) .

我的第二种方法是尝试将这些文件名作为环境变量发送到容器。运行PROJECT_FILES=(printf "%s " $(ls -p | grep -v /))在预期的终端工作,$PROJECT_FILES输出这些文件名。但是,如果我尝试像这样将其直接传递到容器中:docker build -t doc-validate . && docker run --env PROJECT_FILES=(printf "%s " $(ls -p | grep -v /)) doc-validate我得到的结果与zsh: bad …

bash shell stdin zsh docker

7
推荐指数
1
解决办法
100
查看次数

标签 统计

docker ×3

bash ×1

docker-dind ×1

dockerfile ×1

jenkins ×1

shell ×1

stdin ×1

zsh ×1