Docker 仓库管理
Docker Hub 是一个云上的注册服务,允许您下载其他社区构建的 Docker 镜像。您还可以将自己的 Docker 构建镜像上传到 Docker hub。在本章中,我们将了解如何从 Docker hub 下载和使用 Jenkins Docker 镜像。 Docker hub 的官方网站是 - https://hub.docker.com/
步骤 1 - 首先您需要在 Docker hub 上进行简单的注册。
步骤 2 - 注册后,您将登录 Docker Hub。
步骤 3 - 接下来,让我们浏览并找到 Jenkins 映像。
步骤 4 - 如果您在同一页面上向下滚动,您可以看到 Docker pull命令。这将用于将 Jenkins 映像下载到本地 Ubuntu 服务器上。
步骤 5 - 现在,转到 Ubuntu 服务器并运行以下命令 -
sudo docker pull jenkins
要运行 Jenkins,您需要运行以下命令 -
sudo docker run -p 8080:8080 -p 50000:50000 jenkins
关于上述sudo命令,请注意以下几点-
- 我们使用sudo命令来确保它以 root 访问权限运行。
- 这里,jenkins是我们想要从 Docker hub 下载并安装在 Ubuntu 机器上的镜像的名称。
- -p用于将内部 Docker 镜像的端口号映射到我们的主 Ubuntu 服务器,以便我们可以相应地访问容器。
然后,Jenkins 将作为容器在 Ubuntu 计算机上成功运行。
您可能需要拥有自己的私有存储库。您可能不想在 Docker Hub 上托管存储库。为此,Docker 本身就有一个存储库容器。让我们看看如何下载并使用注册表容器。
步骤 1 - 使用 Docker run命令下载私有注册表。这可以使用以下命令来完成。
sudo docker run –d –p 5000:5000 –-name registry registry:2
关于上述命令需要注意以下几点 -
- Registry是 Docker 管理的容器,可用于托管私有存储库。
- 容器公开的端口号是 5000。因此,使用–p 命令,我们将相同的端口号映射到本地主机上的 5000 端口号。
- 我们只是将注册表容器标记为“2”,以在 Docker 主机上区分它。
- –d选项用于以分离模式运行容器。这样容器就可以在后台运行
步骤 2 - 让我们执行docker ps来查看注册表容器确实正在运行。 我们现在已经确认注册表容器确实正在运行。
步骤 3 - 现在让我们标记我们现有的图像之一,以便我们可以将其推送到我们的本地存储库。在我们的示例中,由于我们在本地有可用的centos映像,因此我们将其标记到我们的私有存储库并添加标记名称centos。
sudo docker tag 67591570dd29 localhost:5000/centos
关于上述命令需要注意以下几点 -
- 67591570dd29指的是centos镜像的镜像 ID 。
- localhost:5000是我们的私有存储库的位置。
- 我们在私有存储库中将存储库名称标记为centos 。
步骤 4 - 现在让我们使用 Docker Push命令将存储库推送到我们的私有存储库。
sudo docker push localhost:5000/centos
在这里,我们将centos映像推送到托管在localhost:5000的私有存储库。
步骤 5 - 现在让我们使用docker rmi命令删除centos的本地映像。然后我们可以从我们的私有存储库下载所需的centos镜像。
sudo docker rmi centos:latest
sudo docker rmi 67591570dd29
步骤 6 - 现在我们的本地计算机上没有任何centos映像,我们现在可以使用以下 Docker pull命令从我们的私有存储库中拉取centos映像。
sudo docker pull localhost:5000/centos
在这里,我们将centos镜像拉取到localhost:5000托管的私有存储库。 如果您现在在系统上看到这些映像,您也会看到centos映像。