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


原文地址:如何使用Dockerfile创建自定义Docker镜像

在本教程中,您将学习如何从Docker存储库中提取官方镜像并根据自己的需求对其进行自定义。然后,您可以运行并验证自定义docker镜像。

Docker的真正功能在于根据您的需求调整基本Docker镜像。这样,您可以通过从该自定义docker镜像运行容器来轻松,快速地部署自定义Linux环境。

Docker提供了一种简单的方法来配置任何docker镜像并借助dockerfile创建自己的自定义镜像。

创建自定义Docker镜像

因此,在此示例中,您将使用默认情况下不包含Vim编辑器的Alpine Linux镜像。您将修改该镜像以创建一个默认的包含Vim编辑器的Alpine Linux新docker镜像。没有比这更简单的了。它可以?

先决条件

如果尚未安装Docker,请在Ubuntu或您使用的任何Linux发行版上安装Docker。确保将自己添加到docker组,以便无需sudo即可运行docker。
您需要有效的互联网连接才能下载基本docker镜像。

步骤1:获取Docker镜像[可选]

在本示例中,我选择了Alpine Linux,因为它确实很小。在高山搬运工形象是很难在大小为5 MB,你能相信吗?这是用于容器化的理想Linux发行版。

此步骤是可选的。我将其包括在内表明您可以将其与自定义的docker镜像进行比较。

使用docker pull命令提取Alpine Linux的最新docker镜像:

docker pull alpine

步骤2:使用所需的自定义创建Dockerfile

现在,使用touch命令创建一个名为Dockerfile的新空文件。

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中的RUN,您可以通过运行特定命令来自定义基本Docker镜像。

步骤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镜像:

abhishek@linuxhandbook:~$ 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

您可以看到基本docker镜像几乎没有5 MB,现在已经安装了Vim(更新了软件包缓存)为33 MB。

现在,让我们通过运行容器来验证修改后的docker镜像是否已安装vim :

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

放入容器后,可以通过检查Vim的版本来验证是否已安装Vim:

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

通过在终端中键入exit退出容器。停止容器,移除容器并移除docker镜像(如果需要)以释放磁盘空间。

恭喜!您刚刚学习了如何创建自己的自定义docker镜像。

评论

登录后评论

服务器优惠活动

Top