如何根据现有图像创建新的docker镜像?

时间:2016-04-23 08:18:16

标签: docker docker-image

我刚开始使用docker。我使用docker文件创建一个图像。如何从现有图像创建新图像?

5 个答案:

答案 0 :(得分:9)

您可以使用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:最新图像。 第二条指令将运行这两个命令。 并且第三条指令告诉我们在设置环境时应该运行“fortune -a”命令。

答案 1 :(得分:4)

要从现有图像创建新图像,您只需指定' FROM'例如:

FROM sergiu/ubuntu
MAINTAINER sergiu

答案 2 :(得分:3)

假设您正在运行一个容器bd91ca3ca3c8,并且您想在对该容器进行更改后创建一个映像。您可能想要生成另一张图像以保留更改等。

在这种情况下,您可以运行:

docker commit -p -a "author_here" -m "your_message" bd91ca3ca3c8 name_of_new_image

-p在提交命令生成新映像时暂停容器。

-a允许您提供新图像的作者信息。

-m允许您像在Git中一样添加评论。

答案 3 :(得分:2)

Docker commit:根据容器的更改创建新图像。

  

将容器的文件更改或设置提交到新图像中会很有用。这允许您通过运行交互式shell来调试容器,或将工作数据集导出到另一个服务器。通常,最好使用Dockerfiles以文档化和可维护的方式管理图像。

答案 4 :(得分:0)

我也是docker的新手,但我发现可能会有所帮助。

1)每当您编写“ FROM”并运行docker文件时,docker都会查看其存储库并首先加载该映像。因此,如果您要在“ FROM”中使用任何本地映像,则应将其加载。

2)在“ FROM”中输入什么参数很重要,就像您输入repo_name或标记错误一样,它给出错误消息msg。因此对于此运行“ docker images”命令,以查看正确的映像repo_name和标记。

3)现在,您可以像这样启动新的docker文件

FROM REPOSITORY:TAG

它将起作用

相关问题