[英]Best way to have Jenkins “update” a running docker container when the image has been updated
[英]Update Docker image and container from Jenkins
我對Jenkins和Docker還是很陌生,所以我堅持嘗試使它們一起工作。 我想要做的是下一步:
在Jenkins上建立我的專案檔案(完成)
更新Docker映像和容器。 在我的情況下,我想停止運行容器(在上面的Tomcat),將war文件更改為最新的,然后再次運行。
我已經在Docker上部署了我的應用程序,但是Jenkins尚未更新該應用程序。
我找到了一些插件,例如docker-build-step或docker-plugin ,但是沒有足夠的信息和教程,我發現它真的很煩人花費時間並提出隨機建議。
我會推薦任何有用的教程,使其更加專業。
也許您不需要這些插件中的任何一個。 您可以使用docker的命令api來實現它。
您需要在jenkins主機上安裝docker。
然后在您的Jenkins構建配置mvn插件(或執行shell)中構建目標:
干凈的程序包Assembly:assembly -Dmaven.test.skip = true
執行shell,例如:
docker build --net=host -t reg.docker.xxx.com/xxx/xxx:latest ./ docker login --username=xxx --password=xxx reg.docker.xxx.com docker push reg.docker.xxx.com/xxx/xxx:latest
docker -H tcp://swarm.xxx.com:<port> --tlsverify --tlscacert=./ca.pem --tlscert=./cert.pem --tlskey=./key.pem run -v /home/admin/rc.local:/etc/rc.local:ro reg.docker.xxx.com/xxx/xxx:latest
- - - 編輯 - - - -
如果更新現有容器,請使用docker upgrade
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.