Docker 私有存储库
你可能不想在 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
在这里,我们正在从本地的私有存储库localhost:5000拉取centos镜像。
如果现在在系统上看到镜像,将看到centos镜像也是如此。