创建docker私有仓库
前段时间在部署一个项目时,需要将本机mac上的golang应用部署到服务器上,但是又不想直接传到公有仓库上,需要一个私人仓库地址便于管理这些项目镜像
下面记录一次私有仓库创建到镜像push和pull的过程。
1. docker官方提供了一个工具docker-registry,我们可以借助这个工具构建私有镜像仓库,首先search registry
2. 我们选择官方版本就可以,执行 docker pull registry等待镜像拉取完成
3. 通过docker images命令我们可以看到镜像已经拉取成功,现在让我们运行镜像
指定一个对外暴露端口,容器内默认是5000,但是可以看到我第一次暴露5000端口,系统监听到端口被占用了,所以我更改了另一个端口映射,记住映射的哪个端口就好了。如果记不住的话,可以查看docker ps看到所有容器的运行信息,其中包含端口映射信息,或者更简单一点使用mac客户端查看docker所有容器和镜像的状态
4. 创建好容器之后,我们就可以开始使用私有仓库了,首先查看本机ip地址,并制作一个小的镜像做实验
为了测试我又拉取了一个redis的镜像
下面让我们修改这个镜像名称,打上我们私有仓库的专属标签
5. 上传镜像文件
运行docker push可能会遇到下面的错误:
进入docker客户端,修改docker daemon.json,加上我们的ip地址,然后重启docker服务,重启registry
再执行一遍docker push就可以成功上传镜像文件了
6. 查看镜像