保存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中,即使在运行多个引用该映像的容器时,它也只会在文件系统上存在一次。