在上一篇文章之后,建议创建我自己的Docker镜像,我想让jenkins使用ruby,所以我的dockerfile看起来像
FROM jenkins
FROM ruby:2.3.0
我运行docker build -t jenkins_ruby .
它构建正确,我可以在docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins latest 77bd697ef2c3 5 days ago 710.1 MB
jenkins_ruby latest 1653f4c3a826 8 days ago 729 MB
ruby latest 1653f4c3a826 8 days ago 729 MB
所以我想在容器docker run -p 8080:8080 jenkins_ruby
但我得到Switch to inspect mode.
我原本希望能够去ipaddress:8080
并看到jenkins控制台
我错过了什么吗?
由于
答案 0 :(得分:2)
Dockerfile不能有多个FROM
。
这种基本上将两个图像合并在一起的功能无法在单个Dockerfile中完成。这里真正发生的一切是,它会提取jenkins:latest
图片,提取ruby:2.3.0
图片,然后使用ruby
标记jenkins_ruby
图片。没有合并,您可以看到,对于图像最终尺寸,jenkins_ruby
的尺寸与ruby
相同。
有一个Github问题要支持here。