精华内容
下载资源
问答
  • docker 创建本地仓库

    2019-08-22 18:08:25
    1.为什么需要搭建本地仓库? a.节约带宽:因为如果用docker或阿里云官方的仓库走的互联网浪费带宽,而且慢。 b.提供资源利用和安全:因为公司内部的镜像,推送到本地仓库,更方便公司内部人员用,而且安全性高。 ...

    1.为什么需要搭建本地仓库?
      a.节约带宽:因为如果用docker或阿里云官方的仓库走的互联网浪费带宽,而且慢。
      b.提供资源利用和安全:因为公司内部的镜像,推送到本地仓库,更方便公司内部人员用,而且安全性高。

     

    1先搜索仓库镜像

    docker search registry 

    2.下载镜像

    docker pull registry

    2.创建一个仓库容器
    docker run -d -p 5000:5000 \
    --restart=always \
    --privileged=true \
    --name=registry-chen \
    -v /date/volume/registry:/var/lib/registry \
    registry

    3.改镜像名(因为要改仓库名字)
      docker tag 74beb4cfcca2 registry-chen:5000/eureka-server:1.0.0
      
    4.推送镜像到私有仓库(注意:记得改本地hosts)
     4.1在推送 仓库之前需要把 当前的仓库名字 写进host文件中  才能push 进去
     vi /etc/hosts 
      4.2 按 i 键 进入编辑模式
      然后添加数据
     127.0.0.1 docker-data(你的仓库名字)
      按ESC :wq 退出保存
      
    5.查看仓库的内容
      查看仓库的镜像:
      curl -X GET http://127.0.0.1:5000/v2/_catalog
      仓库仓库某个镜像的版本信息:
      curl -X GET http://127.0.0.1:5000/v2/eureka-server/tags/list
     

     

    展开全文
  • Docker创建本地仓库

    2017-11-23 18:56:00
    Docker是时下相当火热的技术,关于docker的介绍此处就不多说,本文主要介绍下如何在centos6.6环境下配置docker本地仓库,对于想在局域网内大规模运用docker来说,频繁的从官网仓库下载镜像文件,无论从管理还是在...

    Docker是时下相当火热的技术,关于docker的介绍此处就不多说,本文主要介绍下如何在centos6.6环境下配置docker的本地仓库,对于想在局域网内大规模运用docker来说,频繁的从官网仓库下载镜像文件,无论从管理还是在效率上都无法接受。


    一:以容器的方式运行registry服务

    初次运行,本地不存在registryimage,会自动从官方网站上下载一份,速度较慢

    1
    # docker run -idt -p 5000:5000 --name registry -v /data/registry:/tmp/registry registry

    wKiom1SibgCgp4azAAYhhlHqlhE921.jpg

    二:配置Nginx, 需要配置用户验证和https支持

    # /usr/local/nginx/sbin/nginx -V

    wKiom1SibqHjb9VXAAQEarZ5ark196.jpg

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    # cat /usr/local/nginx/conf/extra/docker.conf 
    # For versions of Nginx > 1.3.9 that include chunked transfer encoding support
    # Replace with appropriate values where necessary
      
    upstream docker-registry {
     server 127.0.0.1:5000;
    }
      
    server {
     listen  443;
     server_name  registry.fjhb.cn;  
     ssl on;
     ssl_certificate     /etc/ssl/certs/nginx.crt;
     ssl_certificate_key /etc/ssl/private/nginx.key;
     proxy_set_header Host       $http_host;   # required for Docker client sake
     proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP
     client_max_body_size 0; # disable any limits to avoid HTTP 413 for large image uploads
     # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
     chunked_transfer_encoding on;
      
     location / {
         # let Nginx know about our auth file
         auth_basic              "Restricted";
         auth_basic_user_file    docker-registry.htpasswd;
      
         proxy_pass http://docker-registry;
     }
     location /_ping {
         auth_basic off;
         proxy_pass http://docker-registry;
     }  
     location /v1/_ping {
         auth_basic off;
         proxy_pass http://docker-registry;
     }
    }

    三:配置ssl证书和密码文件

    1生成根密钥

    1
    2
    3
    4
    # cd /etc/pki/CA/
    # touch ./{serial,index.txt}
    # echo "00" > serial
    # openssl  genrsa -out private/cakey.pem 2048

    2生成根证书

    1
    # openssl  req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem

    wKiom1SibxuytRkdAAW6hQK0d9I207.jpg

    3:生成nginxkeynginx.csr证书请求文件

    1
    2
    3
    # cd /etc/ssl/
    # openssl genrsa -out nginx.key 2048
    # openssl  req -new -key nginx.key -out nginx.csr

    wKiom1Sib0OxlfMZAAidSOMp6WU745.jpg

    4私有CA根据请求来签发证书

    1
    # openssl ca -in nginx.csr -days 3650 -out nginx.crt

    wKiom1Sib3SC5tyMAAfGjOrcG-I265.jpg

    1
    2
    # cp /etc/pki/tls/certs/ca-bundle.crt{,.bak} 
    # cat /etc/pki/CA/cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt  #因为是自签的证书,此步骤的意义在于让系统接受该证书

    5:复制生成的证书文件到相应位置

    1
    2
    # cp nginx.crt  certs/
    # cp nginx.key  private/

    6:使用htpasswd工具创建密码文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # yum -y install httpd-tools
    # htpasswd -c /usr/local/nginx/conf/docker-registry.htpasswd yang
    New password: 
    Re-type new password: 
    Adding password for user yang
      
    # htpasswd /usr/local/nginx/conf/docker-registry.htpasswd lin
    New password: 
    Re-type new password: 
    Adding password for user lin

    四:启动nginx

    1
    2
    3
    # /usr/local/nginx/sbin/nginx  -t
    # /usr/local/nginx/sbin/nginx 
    # netstat -ntpl |grep nginx

    wKiom1Sib_nizmheAANEYqizGvU149.jpg

    五:测试

    1本地测试push

    1
    2
    3
    4
    # docker login -u yang -p 123 -e ylw@fjhb.cn registry.fjhb.cn
    # docker images
    # docker tag registry registry.fjhb.cn/registry:v2
    # docker push registry.fjhb.cn/registry:v2

    wKioL1SicODyG-GKAAmXqnP-06Q288.jpg

    2:其他客户端测试pullpush

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # tail -1 /etc/hosts
    192.168.1.12    registry.fjhb.cn
    # scp /etc/pki/CA/cacert.pem root@192.168.1.227:/root
    # cp /etc/pki/tls/certs/ca-bundle.crt{,.bak}
    # cat cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt
      
    # curl -u yang:123  https://registry.fjhb.cn/v1/search
    # service docker restart
    # docker  login -u yang -p 123 -e ylw@fjhb.cn https://registry.fjhb.cn 
    Login Succeeded
      
    # docker  images
    # docker tag centos6 registry.fjhb.cn/centos6
    # docker push registry.fjhb.cn/centos6

    wKioL1SicTTT2h-mAATwsEUVQ_M942.jpg

    1
    # docker  pull registry.fjhb.cn/registry:v2

    wKiom1SicK6RRSuHAAVQbJvNYFk814.jpg

    异常处理:

    wKiom1SicNuD29cDAAX49u4uxYM811.jpg

    1
    2
    # scp  /etc/pki/CA/cacert.pem root@192.168.2.227:/root
    # cat cacert.pem >> /etc/ssl/certs/ca-bundle.crt

    参考:

    http://blog.94it.net/post/openssl-ca.html

    http://segmentfault.com/blog/seanlook/1190000000801162

    本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1597873如需转载请自行联系原作者


    ylw6006

    展开全文
  • docker创建本地仓库 1.生成rsa认证文件 #注意:当前目录下要存在conf文件夹 openssl req -new -newkey rsa:4096 -days 365 -subj "/CN=location" -nodes -x509 -keyout conf/auth.key -out conf/auth.cert 2.搭建...

    docker创建本地仓库

    1.生成rsa认证文件

    #注意:当前目录下要存在conf文件夹
    openssl req -new -newkey rsa:4096 -days 365 -subj "/CN=location" -nodes -x509 -keyout conf/auth.key -out conf/auth.cert
    

    在这里插入图片描述

    2.搭建docker本地仓库

    #查询registry镜像
    docker search registry
    #拉取registry镜像
    docker pull registry
    #修改daemon.json 添加配置参数 "insecure-registries":["127.0.0.1:5000"]
    vim /etc/docker/daemon.json
    

    在这里插入图片描述

    #重启docker服务
    systemctl daemon-reload
    systemctl restart docker
    #先启动容器 将容器中的config.yml配置文件复制出来,再删除容器
    docker run -d -p 5000:5000 --privileged=true --name=fan_registry registry
    #复制配置文件到宿主机当前目录下
    docker cp fan_registry:/etc/docker/registry/config.yml ./
    #删除容器
    docker stop fan_registry 
    docker rm fan_registry
    #修改config.yml的删除配置--为了以后可以删除镜像
    vim config.yml
    

    在这里插入图片描述

    #启动容器
    docker run -d -p 5000:5000 --privileged=true --restart=always --name=fan_registry -v /root/docker/registry/conf/config.yml:/etc/docker/registry/config.yml -v /root/docker/registry/data:/var/lib/registry -v /root/docker/registry/conf/auth.cert:/etc/docker/registry/auth.cert registry
    #查看是否启动成功
    docker ps
    docker logs fan_registry
    
    #推送镜像到本地仓库
    #重命名镜像
    docker tag first_login:latest 127.0.0.1:5000/first:1.0.0-first_login
    #推送镜像
    docker push 127.0.0.1:5000/first:1.0.0-first_login
    #查看仓库的镜像
    curl -X GET http://127.0.0.1:5000/v2/_catalog
    #查看仓库某个镜像的版本信息
    curl -X GET http://127.0.0.1:5000/v2/first/tags/list
    #将本地此镜像删除,尝试从本地仓库中获取
    docker rmi 127.0.0.1:5000/first:1.0.0-first_login
    #拉取本地仓库中的镜像
    docker pull 127.0.0.1:5000/first:1.0.0-first_login
    #查看拉取到的镜像
    docker images
    

    3搭建docker仓库web管理系统

    # 拉取镜像
    docker pull hyper/docker-registry-web
    # 启动容器 将配置文件复制到宿主机 再删除容器
    # 启动容器
    docker run   -d -p 8080:8080  --privileged=true --name fan_registry_web hyper/docker-registry-web
    # 创建宿主机存放配置文件目录 我的目录是/root/docker/registry_web/conf
    # 切换到/root/docker/registry_web/conf目录下
    # 复制配置文件到当前目录下
    docker cp fan_registry_web:/conf/config.yml ./
    # 删除容器
    docker stop fan_registry_web
    docker rm fan_registry_web
    # 修改配置文件
    vim config.yml
    

    在这里插入图片描述
    备注:url里面域名为docker仓库容器的名称
    name也为docker仓库容器的名称
    enable:是否开启权限验证
    isuser:认证证书颁发者名称 随意
    key: auth.key所在容器中的路径。这个auth.key就是第1步生成的auth.key,启动时做挂在到刚才生成的auth.key文件上

    #启动容器 这里注意 --link 后的链接的容器名称就是docker仓库容器的名称,要和上面配置文件中的保持一致
    docker run  -v /root/docker/registry_web/conf/config.yml:/conf/config.yml -v /root/docker/registry/conf/auth.key:/conf/auth.key -v /root/docker/registry/data:/data -d -p 8080:8080 --link fan_registry  --privileged=true --restart=always --name fan_registry_web hyper/docker-registry-web
    #查看启动
    docker logs fan_registry_web
    docker ps 
    #启动之后,admin用户登录web页面后,会报错(不知道是不是都会遇到),重启了两个容器fan_registry 和fan_registry_web就好了
    

    浏览器登录web管理界面
    http:\ip:8080
    在这里插入图片描述

    默认用户名:admin 密码:admin
    在这里插入图片描述
    点击那个first ,看到刚才推送的镜像,
    在这里插入图片描述
    但是没有删除权限,删除权限时要配的
    在这里插入图片描述
    在这里插入图片描述
    我这里已经创建好了用户了,
    点击Create new user创建用户,赋予权限,这个就不记录了。
    创建好用户之后退出去,用新用户登录进去就能看到删除了。

    展开全文
  • 仓库其实也是一个镜像,本地仓库是自用的,就好像git类似,docker先提交到私有仓库在提交到本地仓库 准备好你需要提交的容器 提交仓库前要把提交的容器压缩为镜像并提交到私有仓库 docker commit -a "pning" -m ...

    学习前提

    1.Docker在阿里云上(Centos)下载安装
    2. 在阿里云(Centos)的docker容器里安装部署tomcat

    先下载私有仓库镜像

    docker run --name testdocker -p 5000:5000 --restart=always  -v /root/docker/registry:/var/lib/registry -d registry
    

    仓库其实也是一个镜像,本地仓库是自用的,就好像git类似,docker先提交到私有仓库在提交到本地仓库

    准备好你需要提交的容器

    在这里插入图片描述

    提交仓库前要把提交的容器压缩为镜像并提交到私有仓库

    docker commit -a "pning" -m "This is a test" a6002cb68522 mytesttomcat
    

    -a "pning":作者
    -m "This is a test":介绍
    a6002cb68522:容器ID
    mytesttomcat:压缩后给镜像命名,只能为小写
    判断是否成功
    通过docker images查看所有镜像,看有没有刚刚压缩的
    在这里插入图片描述

    将私有仓库里的镜像改为本地

    本地仓库和私有仓库的命名区别

    私有仓库和共有仓库的区别是
    共有仓库的命名格式为ip:端口/镜像名
    私有仓库的命名格式为镜像名

    改名字的命令是docker tag 原本名字 改后名字,执行后实际会多了一条标签
    在这里插入图片描述

    修改完名字后提交到本地仓库

    docker push ip:5000/mytesttomcat
    

    这一步如果你电脑没有设置过或略这个端口的协议的话会报错,详情参考docker提交时报只支持https
    执行成功后会开始提交,等待即可
    在这里插入图片描述

    展开全文
  • 搭建docker私有仓库也是通过docker,真是就地取材。 1、首先下载registry镜像 docker pull registry 2、启动registry镜像的容器 docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry ...
  • docker 创建本地仓库详解(push/pull)

    千次阅读 2018-12-05 20:29:37
    除了使用Docker Hub,还可以根据自己的需求创建似有仓库。下面就介绍在centos7 下创建似有仓库。本文内容基于 docker-registry v2.x 版本。 运行仓库镜像 通过获取官方 registry 镜像来运行 $ docker run -d ...
  • docker 创建本地私有仓库,环境Win10专业版,默认安装Windows版,实现局域网内的其他Docker能从私有仓库进行pull和push
  • 安装仓库服务配置 https 权限支持修改 docker 配置文件:/etc/docker/daemon.json,增加内容"insecure-registries": ["11.71.91.51:5000"]{"registry-mirrors": ["https://hub-mirror.c.163.com"],"insecure-...
  • docker创建私有仓库

    2020-09-24 22:23:33
    docker创建私有仓库 文章目录docker创建私有仓库一、简介二、流程2.1 创建私有仓库2.2 发布镜像2.3 测试 一、简介 注册docker hub账号可以在公有仓库发布镜像,这里介绍本地下私有仓库的创建与镜像发布。 二、流程 ...
  • docker 创建官方仓库

    2019-10-15 14:45:00
    演示docker创建仓库 一、docker官方仓库 1.注册登录Docker Hub https://hub.docker.com 2.创建一个仓库 创建后仓库后,这边提过了推送本地镜像到Docker Hub的命令 3.在命令窗口登录Docker Hub #user...
  • 如果自己创建的镜像可以供其他...1、在仓库服务器上创建本地仓库 baylor@baylor-virtual-machine:~$docker run -d -p 5000:5000 --name registry registry:2 2、在需要上传的服务器上先得到个镜像 baylor...
  • docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库仓库默认会被创建在/var/lib/registry目录下(容器中的目录) 环境说明 docker-1:192.168.116.XXX 客户端 docker-2:192.168.116.YYY 本地镜像...
  • 关于Docker镜像本地仓库使用说明 ...1、客户端连接docker本地仓库之前,需要修改daemon.json,如果存在就创建一个 ​ vi /etc/docker/daemon.json 文件内容如下: {"insecure-registries": ["host IP:808
  • #docker pull registry:2 echo "运行registry容器" docker container kill registry docker container rm registry docker run -d -p 5000:5000 -v /usr/local/registry:/var/lib/registry --resta...
  • docker 创建和使用私有仓库:参考文章
  • Docker创建私有仓库

    2019-05-16 16:31:08
    通过Docker官方提供的镜像Registry 创建本地私有仓库,创建方式和启动一个普通镜像的方式是一样。 1.在私有仓库服务器快速创建镜像仓库,运行如下代码: docker run -p 5000:5000 registry:2.0 运行上述命令后...
  • docker搭建本地仓库

    2019-02-17 17:01:05
    操作概览: ...3, 往本地仓库里: pull /push 镜像 1,拉取registry镜像 root@boot2docker:/home/docker# docker pull registry Using default tag: latest latest: Pulling from li...
  • Docker 创建私有仓库

    2017-11-24 17:30:31
    有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使 用。docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库安装运行 docker-registry容器运行你可以通过获取官方 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,081
精华内容 432
关键字:

docker创建本地仓库