如何使用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镜像。
{{ nComment.author.nickname }}
{{ nComment.time }}