繁体   English   中英

带有 docker run 的 Jenkins Docker 管道插件

[英]Jenkins Docker pipeline plugin with docker run

我有一个安装了Docker Pipeline 插件Jenkins 管道

我想使用以下命令运行带有插件的 docker 容器:

docker.image("$uri/$name:$tag").run("-it --name myWebApp -v /myData:/mywebapp/data") 

但是,Jenkins 的日志控制台没有显示任何内容。 我使用-it来显示日志和进程,直到它完成,但它似乎不起作用。

查看官方文档,似乎在detached模式下使用-d 我已经看到了withRun类型,并且尝试了以下命令:

docker.image("$uri/$name:$tag").run("-it --name myWebApp -v /myData:/mywebapp/data") { c-> 
   sh "docker logs ${c.id}"
}

但是,它在几秒钟后停止显示:

docker logs 897sdfhdv87sdXX

如何正常启动docker容器? 通过显示日志和同步? 当容器成功结束时,它以 exit 0 类型结束

嗨,我知道这可能不再需要,但我相信这可以通过执行以下操作来实现:

docker.image('mysql:5').withRun('-e "MYSQL_ROOT_PASSWORD=my-secret-pw"') { c ->
    sh "docker logs ${c.id}"
} 

本示例改编自https://www.jenkins.io/doc/book/pipeline/docker/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM