java扩展docker容器
我是Docker的新手,我对从Docker存储库中提取Docker映像后扩展它的可能性有疑问。我特别需要Ubuntu14.04、java和R的docker图像。我看到有三个分别的图像。我的问题是,新提取的图像的Dockerfile在哪里,以便我可以扩展它们
你可以在下面搜索框中键入要查询的问题!
我是Docker的新手,我对从Docker存储库中提取Docker映像后扩展它的可能性有疑问。我特别需要Ubuntu14.04、java和R的docker图像。我看到有三个分别的图像。我的问题是,新提取的图像的Dockerfile在哪里,以便我可以扩展它们
# 1 楼答案
当然可以。 你可以下载一个docker镜像,修改它,并用一个新的名字(和标签)生成一个新镜像。 要更改容器,可以手动或使用Dockerfile进行更改。 我不确定我能否在一个答案中给出所有步骤,但如果你遵循这个小指南,我相信你可以在10分钟或更短的时间内得出这个想法:https://docs.docker.com/userguide/dockerimages/#creating-our-own-images
# 2 楼答案
自动合并多个图像是不可能的,但通常情况下,DockerFile很容易使用R和Java创建您自己的版本(如果您想要的话)
一些上游容器还使用DockerFile中的
ONBUILD
https://docs.docker.com/reference/builder/#onbuild条目,只有当它们的映像通过FROM
条目包含在另一个容器中时,才会运行某些内容如果你找到一个满意的java容器,只需创建一个dockerfile和
FROM java-something
在上面的自己的图像。然后添加R。即使通过FROM
包含容器,您使用的所有docker run ...
参数(entrypoints和cmd)仍然有效如果你需要攻击现有的容器,这也是可能的。看看我为在gitlab容器上启用oauth而创建的东西(在他们正式这么做之前)@https://github.com/xeor/dockerfiles/tree/master/gitlab。在那里,我扩展了原始图像,并添加了我自己的配置tweek
# 3 楼答案
docker pull
命令只需拉一个预构建的映像。您的本地计算机上没有Dockerfile。但您可以从Docker Hub找到原始Dockerfile。如果你使用itzg/ubuntu-openjdk-7
图像,你可以访问它的在线存储库https://registry.hub.docker.com/u/itzg/ubuntu-openjdk-7/
Dockerfile在Dockerfile选项卡上可用(只有“自动生成”存储库在Docker Hub上有Dockerfile选项卡)
下面是来自edwindj/docker-r的另一个Dockerfile
没有自动合并两个或多个Dockerfile的方法,但您可以像下面这样合并这两个Dockerfile
并使用
docker build
命令构建它尝试在基于nacyot/ubuntu-java-R映像的容器上使用java和R命令
它很好用
这并没有什么神奇之处,但通过引用Docker Hub上的Docker文件,您可以扩展和创建(几乎)任何包含您第一手需要的包的图像
# 4 楼答案
存储库本质上就是您的名称空间。所以你需要提取图像,你做到了。仔细想想,文件就在容器中
$ sudo docker run "your filename"
如果需要,请查看此“教程:Docker Repository Tutorial
还可以查看文档Docker Documentation
# 5 楼答案
DockerFile是用来构建图像的,但是你不可能进行相反的操作
如果你想扩展现有的图像,你有两个解决方案
FROM myimage
)https://docs.docker.com/reference/builder/