[英]Jenkins with docker
我的问题是:
docker run -d -p 8080:8080 asd/jenkins # everything's ok
# made changes at jenkins
docker commit container_with_jenkins # comitted
docker run -d -p 8080:8080 image_from_container_with_changes
# => Error: create: No command specified
我想念什么吗?
如何使用docker的图像并将更改保存在容器中?
提交映像时,它不会从其父映像继承CMD。 因此,当您基于新映像启动容器时,需要提供运行命令。
docker run -d image_from_container_with_changes java -jar /var/lib/jenkins/jenkins.war
当然,运行命令取决于您的特定安装。
Jenkins将其配置存储在目录中,例如/root/.jenkins。 我建议在主机上创建一个目录,并将其链接为一个卷:
docker run -v {absolute_path_to_jenkins_dir}:/root/.jenkins -d asd/jenkins
如果您以相同的方式启动一个新容器,它将具有相同的工作,等等。如果您所做的更改确实进入了该目录(我不知道该在哪里安装插件或更新),您仍然可能想要制作新图像。 在这种情况下,请在提交容器时使用-run
选项以指定新配置,
docker commit -run='{"Cmd": ["java", "-jar", "/var/lib/jenkins/jenkins.war"]}' abc1234d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.