问题描述
我试图从这里复制 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 (将#修改为@)