在你刚刚起步的容器事业中,你将不得不建立一个镜像并将其推送到Docker Hub仓库。Jack Wallen告诉你如何做到这一点。

图片:o_m/Shutterstock
如果你刚刚开始你的容器和Docker 之旅, 你可能在你的内部数据中心内做一些工作,这是冒险进入这个新的容器化世界的许多地方之一。然而,在某些时候,你将走出数据中心,进入云托管容器的扩展世界。
在此之前,你会想知道如何建立你自己的Docker镜像并将其推送到Docker Hub。为什么?因为你可能想把这个镜像提供给你的队友,甚至是世界上的其他人。
但你如何做到这一点呢?
我将向你展示:
这很简单,你只需要知道如何建立一个Docker文件。
见:Kubernetes(免费PDF)(TechRepublic)
你将需要什么?
要实现这一目标,你需要以下条件:
- 一个Docker Hub账户
- 一个正在运行的Docker引擎实例
- 一个属于docker组的用户(所以你可以在不使用sudo的情况下发布docker命令)
就这样了,让我们开始工作吧。
如何建立你的镜像
我们要构建的镜像是基于 python:3.8-buster 的,将包括以下库:
- numpy 1.14.3
- matplotlib 2.2.2
- seaborn 0.8.1
这是很基本的,但它可以很好地说明这个任务。首先,让我们创建一个目录,以便在该命令下工作。
mkdir ~/DOCKER
改变到该目录:
cd ~/DOCKER
现在,我们将用命令创建我们的Docker文件:
nano Dockerfile
在该文件中,粘贴以下内容:
FROM python:3.8-buster
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY src/ .
CMD [ "python", "trtest.py"]
保存并关闭该文件。
上述命令将拉下python:3.8-buster镜像,使用pip来升级它,然后读取一个新文件(requirements.txt)的内容,并安装该文件中列出的所有内容。要创建requirements.txt文件,请发布命令:
nano requirements.txt
在该文件中,粘贴以下内容:
numpy==1.14.3
matplotlib==2.2.2
seaborn==0.8.1
保存并关闭该文件。
创建一个新的子目录,其中包括:
mkdir src
如何登录你的Docker Hub账户
我们必须登录我们的Docker Hub账户来推送新的镜像。要从命令行成功登录Docker Hub,你必须先创建一个访问令牌。登录到Docker Hub,点击你的个人资料图像。从弹出的菜单中,选择账户设置。在出现的页面上,点击左侧导航中的安全,然后点击新访问令牌**(图A**)。
图A

在Docker Hub中创建一个新的访问令牌。
一旦你生成了访问令牌,把它复制到你的剪贴板上。回到终端窗口,发出命令。
docker login -u NAME
其中NAME是你的Docker Hub用户名。你会被提示你的Docker Hub密码,在这里你将使用你刚刚生成的访问令牌。
如何建立你的镜像
现在是建立我们的镜像的时候了。我们将把这个镜像命名为rtest。要做到这一点,发出命令:
docker build -t trtest .
当构建完成后,你会有一个新的镜像,命名为rtest。
如何标记和推送镜像
最后,我们要给我们的新镜像打上标签,然后把它推送到Docker Hub。首先用命令给镜像打上:latest的标签。
docker image tag trtest USER/trtest:latest
其中USER是你的Docker Hub用户名。
现在镜像被标记了,我们可以用以下命令将其推送到Docker Hub。
docker image push USER/trtest:latest
其中USER是你的Docker Hub用户名。
推送完成后,你应该在你的Docker Hub仓库中找到rtest:最新的镜像。
这就是构建Docker镜像并将其推送到Docker Hub仓库的全部内容。
另请参见
- 如何成为一名数据库管理员(TechRepublic)
- 数据管理员应该知道的五大编程语言(免费PDF)(TechRepublic)
- 你应该使用的5个Linux服务器发行版(TechRepublic Premium)
- DevOps:更多必读报道(TechRepublic on Flipboard)