保存docker容器设置,如端口映射和卷

我是Docker的新手。 我有我的图片在我的docker回购: 我的码头形象

我用这种方式从图像创build一个容器: 我的码头集装箱

我怎样才能保存我的docker运行参数供将来使用,而不用写任何从我的图像创build容器? Dockerfile是解决scheme吗? (我从来没有使用过Dockerfile)。

PS:有一种方法来“挤压”我的falongi / pyload图像的中间图像(那些没有名字的)?

谢谢F.

你可以编写一个docker-compose.yaml文件来定义你的容器的启动。 您可以在其中描述您的参数,并使用一个命令启动容器(使用参数): docker-compose up -d

你的.yaml文件会包含类似的东西(没有testing它!)

 version: '2' services: pyload-service: image: falongi/pyload:latest container_name: pyload volumes: - /mnt/rf/xxx:/mnt/mybooklive ports: - "8100:8000" 

您可以使用以下命令启动它: docker-compose up -d 。 使用docker-compose,您可以同时部署多个容器。 您也可以定义使用哪个Dockerfile,而不是自己构build图像。 比你在dockerfile中需要这样的东西:

 build: ./path/to/dockerfile 

该文件可能是有用的。

编辑:当你执行docker images -a你会看到父图像及其子图层。 有关更多信息,我将指向这个文档

关于你的PS(lorenzvth7覆盖docker-compose.yml你的标题问题):

您看到的图像是使用联合文件系统构build的每个图层。 为了减less层数,你需要减lessDockerfile中的命令数量。 这意味着使用与&&的单个RUN命令,并在每行的末尾使用\分隔长线。

这些图层对于Docker中的caching非常重要。 您可以拥有多个图像使用的单个基本图层。 该基础层只能下载一次,而且在联合文件系统的RO层devise中,即使在运行多个引用该映像的容器时,它也只会在文件系统上存在一次。