我刚开始使用Docker。 我使用 Dockerfile 创建了一个镜像。如何从该现有镜像创建一个新镜像?
我刚开始使用Docker。 我使用 Dockerfile 创建了一个镜像。如何从该现有镜像创建一个新镜像?
bd91ca3ca3c8
的容器,并且想在对该容器进行更改后创建一个新的映像。生成另一个映像将允许您保留所做的更改。docker commit -p -a "作者姓名" -m "提交信息" bd91ca3ca3c8 新映像名称
-p
命令暂停容器,在构建新镜像时使用。
-a
命令允许您提供新镜像的作者信息。
-m
命令允许您添加注释, 类似于 Git。您可以使用Docker命令 $docker build -f docker_filename . 创建一个新的镜像,它会首先读取Dockerfile文件中的指令并自动构建镜像。Dockerfile中的指令包含了组装镜像所需的必要命令。一旦镜像被构建完成,它将被分配一个镜像ID。
这个镜像可以被推送到Docker注册中心。为此,用户必须在Docker注册中心创建一个帐户。
Dockerfile的一个示例如下:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay
这里的第一条指令告诉我们新镜像将使用docker/whalesay:latest镜像。 第二条指令会运行两个命令。 第三条指令告诉我们,在设置好环境后,应该运行"fortune -a"命令。
FROM sergiu/ubuntu
MAINTAINER sergiu
sergiu
是一个文件夹吗?在私有仓库中从镜像构建又是什么意思?MAINTAINER
关键字的目的是什么? - DRzdocker tag jboss/wildfly myimage:v1
myimage
,标签为v1
的镜像,基于jboss/wildfly:latest
镜像。Dockerfile
...只需使用tag
就可以了。 - Hi-Angel我在Docker方面也是新手,但我发现以下内容可能会有所帮助。
1)每当您编写“FROM”并运行Docker文件时,Docker会在其仓库中查找并首先加载该映像。因此,如果您要在“FROM”中使用任何本地映像,则应该将其加载。
2)您在“FROM”中提供的参数很重要,因为如果您提供了错误的存储库名称或标签,它会给出错误消息。因此,请运行“docker images”命令以查看您的图像的正确存储库名称和标签。
3)现在,您可以像这样启动新的Docker文件
FROM REPOSITORY:TAG
它将起作用。
Docker commit:从容器的更改中创建一个新镜像。
将容器的文件更改或设置提交到新镜像中可能很有用。这使您可以通过运行交互式 shell 调试容器,或将工作数据集导出到另一台服务器。通常,最好使用 Dockerfiles 以记录和可维护的方式管理您的镜像。
name_of_new_image:1.0
。 - undefined