美文网首页
搭建docker私有镜像仓库

搭建docker私有镜像仓库

作者: 奋斗_登 | 来源:发表于2021-08-16 18:14 被阅读0次

为了更方便的部署应用到Docker容器中,可以将打包应用镜像直接通过docker push 命令推送到服务器所在地镜像仓库中,所以需要搭建私有镜像仓库。 本文使用Docker公司开发的私有镜像裤Registry。

  • 下载Register的Docker镜像
 docker pull registry
  • 设置私有仓库用户认证
#用户账户信息存储目录
mkdir  /home/data/auth

如果registry版本在2.7以下可以用以下命令创建

docker run --entrypoint htpasswd registry -Bbn admin 123456 > /home/data/auth/htpasswd

但在2.7.0以上用以上命令会报错

docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "htpasswd": executable file not found in $PATH: unknown.

解决参考如下:
https://github.com/docker/distribution-library-image/issues/106
https://www.coder.work/article/7351056
解决方法(用户httpd-tools创建账号信息):

yum install -y httpd-tools
htpasswd -Bbn admin 123456 > /home/data/auth/htpasswd
httpd-tools
  • 创建registry的卷 (容器数据持久化)
docker volume create registry_data
  • 启动registry
docker run --name registry2 -p 5000:5000 --restart=always \
-v registry_data:/var/lib/registry \
-v /home/data/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e  REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-e  REGISTRY_STORAGE_DELETE_ENABLED="true" \
-d registry

REGISTRY_STORAGE_DELETE_ENABLED="true"标识可删除镜像

  • 修改客户端Docker Daemon的配置文件,文件位置为/etc/docker/daemon.json,由于Docker默认使用HTTPS推送镜像,而我们的镜像仓库没有支持,所以需要添加如下配置,改为使用HTTP推送;
{
  "registry-mirrors": ["https://fon46f0i.mirror.aliyuncs.com"],
  "insecure-registries": [
    "12.7.182.10:5000"
  ]
}

重启配置生效

systemctl daemon-reload && systemctl restart docker
  • 安装registry ui
docker pull joxit/docker-registry-ui:1.5-static
  • 使用Docker容器运行docker-registry-ui服务
docker run -p 8281:80 --name registry-ui1.5 \
--link registry2:registry2 \
-e REGISTRY_URL="http://registry2:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="Registry2" \
-d joxit/docker-registry-ui:1.5-static

在另外一台docker服务器docker push 向此私有仓库镜像

docker pull busybox
docker tag busybox 12.78.182.15:5000/busybox:latest
docker login --username=admin 12.78.182.15:5000
#输入密码并推送
docker push 12.78.182.15:5000/busybox:latest
docker push
docker push
浏览http://registry2:8281
docker-registry-ui:1.5-static

相关文章

  • 5.私有与公有镜像仓库

    一. 搭建私有镜像仓库 Docker Hub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提...

  • Docker

    构建镜像仓库 Docker运行java程序 1.1.6 搭建docker私有仓库 新建私有仓库 1.2.1 数据挂...

  • Docker之八私有仓库

    个人专题目录 Docker 私有仓库 1. 私有仓库搭建 2. 将镜像上传至私有仓库 3. 从私有仓库拉取镜像

  • Docker

    一、搭建私有镜像仓库 说明:1、 这里是通过阿里云,搭建Docker私有镜像仓库。2、 这里打包的镜像是从官网拉下...

  • Docker搭建私有仓库之Harbor

    Docker搭建私有仓库之Harbor Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决...

  • docker.镜像仓库

    第七节.镜像仓库 搭建私有镜像仓库下载registry镜像并启动docker pull registrydocke...

  • 【docker学习笔记九】Docker的registry私服

    1、私有仓库搭建与配置 2、镜像上传至私有仓库 格式是:docker tag (镜像的名字/id):tag ip...

  • Docker私有仓库

    一、Docker私有仓库搭建与配置 1、拉取私有仓库镜像 2、启动私有仓库容器 3、打开浏览器输入地址http:/...

  • 微服务笔记26:镜像仓库与资源调度

    镜像仓库 仓库的作用是用来保存Docker镜像的,进行集中式的存储。私有仓库搭建一般需要保证权限,镜像同步,高可用...

  • Harbor .v1.10.2 私有镜像仓库的自签CA证书、安装

    需求 在以前搭建docker镜像私有仓库的时候,我都是使用registery搭建。本篇章来尝试另一个新的镜像仓库H...

网友评论

      本文标题:搭建docker私有镜像仓库

      本文链接:https://www.haomeiwen.com/subject/cygdbltx.html