如何解决Jenkins sidecar 方法 - 在主容器内运行多个容器
我试图从这里复制 Jenkins 中的 sidecar 方法:https://www.jenkins.io/doc/book/pipeline/docker/#running-sidecar-containers 但我试图在其中运行多个容器。 我的代码看起来像这样:
PG_IMG = 'custom_postgres:dev'
PG_NAME = 'db'
script.docker.withRegistry('https://index.docker.io/v1/','dockerhub'){
script.docker.image(PG_IMG).withRun('-p 5432:5432'){c ->
script.docker.image(PG_IMG).inside("--link ${c.id}:${PG_NAME}"){
script.sh("echo ======= db ======")
}
script.docker.image('redis').inside("-d --link ${c.id}:${PG_NAME}"){
script.sh("echo ======= redis ======")
}
script.docker.image('python:3.6').inside("-u root -v /var/run/docker.sock:/var/run/docker.sock --link ${c.id}:'${PG_NAME}'") {
script.sh("apt-get update -qq && apt-get install curl -y && curl --silent -SL https://get.docker.com/ | sh")
script.sh("docker ps -a")
}
}
}
然后,我尝试通过设置 docker.sock 来列出通过 python 容器在 VM 中运行的所有容器,但是“docker ps -a”命令输出仅显示两个容器已启动并正在运行,并且有没有关于 redis 映像的信息(甚至不在退出状态),但从 Jenkins 日志中我可以看到 redis 映像正在被拉取。 我无法得到我在这里缺少的东西以及为什么 redis 容器没有在“docker ps -a”命令中列出。 任何帮助和建议都会非常有帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。