如何使用dockerfile创建自定义Docker镜像

时间:2020-03-05 15:26:24  来源:igfitidea点击:

Docker提供了一种简单的方法来配置任何Docker镜像,并在Dockerfile的帮助下创建自己的自定义图像。

在本教程中,我们将学习如何从Docker存储库中提取官方形象并根据我们自己的要求自定义它。
然后我们可以运行并验证自定义Docker镜像。

创建自定义Docker镜像

因此,在此示例中,我们将使用默认情况下不包含VIM编辑器的Alpine Linux镜像。

我们将修改此镜像以创建一个新的ovck linux的ovcker镜像,默认情况下包括Vim编辑器。

第1步:获取Docker Image

我选择了Alpine Linux,因为它真的很小。
Alpine Docker图像大小几乎是5 MB,你能相信吗?
这是Docker化的完美Linux分配。

此步骤是可选的。
我包括它表明我们可以将其与自定义Docker镜像进行比较。

使用Docker Lugl命令拉动最新的Alpine Linux的Docker图像:

docker pull alpine

第2步:使用所需的自定义创建dockerfile

现在让我们创建一个名为dockerfile的新的空文件使用touch命令。

touch Dockerfile

现在我们需要将此文件和这三行编辑到它并保存。
我们可以使用像Vim或者nano等版本,或者使用cat命令将这些行添加到dockerfile。

FROM alpine:latest
RUN apk update
RUN apk add vim

我们在这里所做的是通过从Docker Hub下载最新的Alpine Docker镜像来创建新的Docker镜像。

像APT一样,ALPINE使用APK包管理器。

因此,接下来的两个命令基本上告诉Alpine Linux更新可用包缓存(APK更新),然后安装Vim(APK添加Vim)。

正如我们所看到的,随着Dockerfile运行,我们可以通过运行特定命令自定义基础丢弃器镜像。

第3步:使用dockerfile创建自定义docker镜像

从dockerfile构建自定义图像的命令看起来像这样:

docker build -t new_docker_image_name PATH_to_Dockerfile

使用-t标签,我们可以指定自定义Docker镜像的名称。

考虑到dockerfile在我们当前的目录中,我们可以使用如下所示的Vim创建Alpine Linux的新Docker镜像:

docker build -t alpine-with-vim .

让我们在系统上看到可用的Docker图像:

Hyman@theitroad:~$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-with-vim     latest              fa8255cf0de0        5 seconds ago       33.9MB
alpine              latest              a187dde48cd2        3 weeks ago         5.6MB

我们可以看到大小几乎5 MB的基础Docker图像现在是33 MB,Vim安装其中(以及更新的包缓存)。

现在,让我们验证修改后的Docker图像是否通过运行其中的容器而安装了Vim:

docker container run -ti alpine-with-vim /bin/sh

在容器内部,我们可以通过检查其版本来验证VIM是否已安装:

/# vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 19:30:49)
Compiled by Alpine Linux

通过在终端中键入exit退出容器。