如何搭建docker私有镜像仓库

设置登录鉴权操作搭建参考:

https://blog.csdn.net/shida_csdn/article/details/78435971

参考指南:https://blog.51cto.com/ganbing/2080140

服务端机器 (主机名为registry):docker私有仓库服务器,运行registry容器;
节点机器 (主机名为node):普通的docker服务器,在这台服务器上可以上传和下载镜像;

1. 服务端下载镜像registry

docker pull registry

2. 生成登录的用户名和密码

docker run --entrypoint htpasswd docker.io/registry:latest -Bbn hy 000000  >> /data/docker-registry/auth/htpasswd 

3. 节设置配置文件,启用删除镜像功能(也可以不启用,看业务需要,修改 storage - delete - enable 为 false 即可)


# mkdir -p /opt/registry-var/config

# vim /opt/registry-var/config/config.yml

version: 0.1

log:

  fields:

    service: registry

storage:

  delete:

    enabled: true

  cache:

    blobdescriptor: inmemory

  filesystem:

    rootdirectory: /var/lib/registry

http:

  addr: :5000

  headers:

    X-Content-Type-Options: [nosniff]

health:

  storagedriver:

    enabled: true

    interval: 10s

threshold: 3

4. 启动registry镜像服务

docker run -d -p 5000:5000 --restart=always  --name=registry\

  -v /data/docker-registry/config/:/etc/docker/registry/ \

  -v /data/docker-registry/auth/:/auth/ \

  -e "REGISTRY_AUTH=htpasswd" \

  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \

  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \

  -v /data/docker-registry/:/var/lib/registry/ \

docker.io/registry:latest

5. 开启节点的http形式访问私有仓库

vim /etc/docker/daemon.json

{

    "log-driver": "json-file",

    "registry-mirrors":["55.18.67.171:5000"],

    "insecure-registries":["55.18.67.171:5000"]

}

# systemctl daemon-reload

# systemctl restart docker

6. 上传和下载镜像到私有仓库

docker pull docker.io/hello-world

docker tag docker.io/hello-world:latest 55.18.67.171:5000/hello-word:latest

docker login 55.18.67.171:5000 -u hy -p 000000

docker push 55.18.67.171:5000/hello-word:latest

curl -u hy:000000  http://55.18.67.171:5000/v2/_catalog

7. 创建secret让pod访问不需要鉴权登录

默认default命名空间使用的secret

kubectl create secret docker-registry 10.10.10.149  --docker-server=55.18.67.171:5000 --docker-username=hy --docker-password=000000 [email protected]

hy-uat命名空间使用的secret

kubectl create secret docker-registry 10.10.10.149  --docker-server=55.18.67.171:5000 –namespace=hy-uat --docker-username=hy --docker-password=000000 [email protected]

8. 列出所有镜像

curl -u hy:000000  http://55.18.67.171:5000/v2/_catalog

9. 列出busybox镜像有哪些tag

curl -u hy:000000  http://55.18.67.171:5000/v2/company-ner/tags/list

原文地址:https://www.cnblogs.com/niewx5201314/p/11663081.html

时间: 2024-10-08 10:21:09

如何搭建docker私有镜像仓库的相关文章

使用Nexus3构建Docker私有镜像仓库

一.安装Nexus3 Nexus3是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven.npm.Docker.YUM.Helm等格式数据的存储和发布:并且能够与Jekins.SonaQube和Eclipse等工具进行集成.Nexus3支持作为宿主和代理存储库的Docker存储库,可以直接将这些存储库暴露给客户端工具:也可以以存储库组的方式暴露给客户端工具,存储库组是合并了多个存储库的内容的存储库,能够通过一个URL将多个存储库暴露给客户端工具,从而

Centos 7构建docker私有镜像仓库

容器镜像的管理主要围绕镜像仓库(Registry)来进行.在实际应用中,无论开发人员或CI系统发布镜像,还是测试人员或运维人员下载镜像,都要通过镜像仓库来完成.镜像仓库分为公有仓库和私有仓库两种,例如Docker Hub就属于公有仓库,公有仓库的优点是可以直接使用,无须自己维护.但考虑到访问效率和镜像安全等方面的原因,企业可构建自己内部的私有仓库,供内部员工上传.下载镜像使用.系统环境: 服务器 操作系统 IP地址 已安装软件 docker仓库主机 Centos 7.5 64位 192.168.

利用docker搭建本地私有镜像仓库

主机名 角色 sht-sgmhadoopnn-01 Docker Repository sht-sgmhadoopdn-01 Docker Client 原文地址:https://www.cnblogs.com/ilifeilong/p/11708183.html

【Docker】(4)搭建私有镜像仓库

[Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先进入阿里云创建镜像仓库: https://dev.aliyun.com/search.html-->点击管理中心(初次使用会提示开通,然后设置密码) 然后创建命名空间和镜像仓库: 有关docker拉取和推送指令,点击上图的中管理,就能看到. 1.登录阿里云 docker login [email p

手动搭建Docker本地私有镜像仓库

实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.168.134.151. Registry的IP地址是192.168.134.150. 使用setenforce 0临时关闭SElinux. 打开Server和Registry的内核转发功能 编辑配置文件/etc/sysctl.conf,添加下面的内容: net.ipv4.ip_forward = 1

使用docker Registry快速搭建私有镜像仓库

当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公共仓库,所有人都可以直接查看或下载.使用,但是呢,基于网络原因,下载速度有限制比较慢.因此,我们在公司内部内网环境中使用dokcer,一般不会将镜像文件上传到公网公共库中.但内部共享使用就是个问题,所以,私有仓库就由此产生了. 什么是私有仓库? 私有仓库,就是本地(内网环境)组建的一个与公网公共库功

搭建docker私有仓库

安装Docker Docker的安装请参考官网(http://www.docker.com),非常详细的介绍了各个操作系统的部署过程. 对于CentOS 7.x操作系统的在线安装Docker,请参考如下:https://docs.docker.com/engine/installation/linux/centos 搭建Docker私有仓库 Docker官方提供了一个公有的registry叫做Docker Hub.但是企业内部可能有些镜像还是不方便放到公网上去,所以docker也提供了regis

Docker 构建私有镜像仓库(6)

title: Docker 构建私有镜像仓库(6) date: 2018-12-18 08:47:27 tags: Docker categories: Docker copyright: true --- Docker是基于Go语言实现的开源容器项目,Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,Docker诞生于2013年年初,最初发起者是dotCloud公司.

docker搭建harbor私有镜像库

创建harbor私有镜像库 一.部署准备: harbor软件包 在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下 tar zxvf harbor-offline-installer-v1.4.0.tgz [[email protected] kubernetes]# cd harbor [[email protected] harbor]# ls common docker-compose.notary.yml ha harbor.v1.4.0.ta