精华内容
下载资源
问答
  • 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...

    企业级镜像仓库(harbor)

    harbor离线安装包下载:https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0-rc1.tgz

    #解压后的目录
    [root@jenkins harbor]# ls
    common  docker-compose.yml  harbor.v1.8.2.tar.gz  harbor.yml  install.sh  LICENSE  prepare
    
    #安装: 下载镜像, docker-compose启动所有依赖服务 (先准备好docker, docker-compose环境)
    ./prepare  
    ./install.sh
    
    #验证
    [root@jenkins harbor]# docker ps |grep harbor
    4e7d8f44cce3        goharbor/nginx-photon:v1.8.2                        "nginx -g 'daemon of…"   12 days ago         Up 12 days (healthy)   0.0.0.0:80->80/tcp          nginx
    017af1a150f8        goharbor/harbor-jobservice:v1.8.2                   "/harbor/start.sh"       12 days ago         Up 12 days                                         harbor-jobservice
    e19b6e68bac1        goharbor/harbor-portal:v1.8.2                       "nginx -g 'daemon of…"   12 days ago         Up 12 days (healthy)   80/tcp                      harbor-portal
    733001745b91        goharbor/harbor-core:v1.8.2                         "/harbor/start.sh"       12 days ago         Up 12 days (healthy)                               harbor-core
    631adfd29953        goharbor/harbor-registryctl:v1.8.2                  "/harbor/start.sh"       12 days ago         Up 12 days (healthy)                               registryctl
    639107c9be83        goharbor/registry-photon:v2.7.1-patch-2819-v1.8.2   "/entrypoint.sh /etc…"   12 days ago         Up 12 days (healthy)   5000/tcp                    registry
    7376bad45550        goharbor/harbor-db:v1.8.2                           "/entrypoint.sh post…"   12 days ago         Up 12 days (healthy)   5432/tcp                    harbor-db
    a02019fd00ed        goharbor/redis-photon:v1.8.2                        "docker-entrypoint.s…"   12 days ago         Up 12 days             6379/tcp                    redis
    b2f44bf3e901        goharbor/harbor-log:v1.8.2                          "/bin/sh -c /usr/loc…"   12 days ago         Up 12 days (healthy)   127.0.0.1:1514->10514/tcp   harbor-log
    

    访问80 ui端口: admin/Harbor12345
    在这里插入图片描述

    操作概览:

    • 1, 拉取启动仓库服务的:image文件
    • 2, 运行仓库image, 创建容器(能提供服务的仓库)
    • 3, 往本地仓库里: pull /push 镜像

    1,拉取registry镜像

    root@boot2docker:/home/docker# docker pull registry
    
    Using default tag: latest
    latest: Pulling from library/registry
    169185f82c45: Pull complete
    046e2d030894: Pull complete
    188836fddeeb: Pull complete
    832744537747: Pull complete
    7ceea07e80be: Pull complete
    Digest: sha256:870474507964d8e7d8c3b53bcfa738e3356d2747a42adad26d0d81ef4479eb1b
    Status: Downloaded newer image for registry:latest
    

    2, 启动本地仓库

    root@boot2docker:/home/docker# docker volume create registry
    root@boot2docker:/home/docker# docker run -d -p 5000:5000 --name registry -v registry:/var/lib/registry registry
    6d445518da5f7e99369490ce8f4505d922d2ad7ee791de6c9a5c62899038d144
    
    root@boot2docker:/home/docker# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              P ORTS                    NAMES
    6d445518da5f        registry            "/entrypoint.sh /etc…"   10 seconds ago      Up 8 seconds        0 .0.0.0:5000->5000/tcp   registry
    
    root@boot2docker:/home/docker# netstat -nltp |grep 5000
    tcp        0      0 :::5000                 :::*                    LISTEN      3954/docker-proxy
    

    3, 在本地仓库里: push镜像

    root@boot2docker:/home/docker# docker tag  sath89/oracle-11g  localhost:5000/oracle-11g
    root@boot2docker:/home/docker# docker push  localhost:5000/oracle-11g
    
    The push refers to repository [localhost:5000/oracle-11g]
    be5668ce5ec1: Pushed
    5f70bf18a086: Pushed
    bab207619a1b: Pushing  2.867GB/6.848GB
    bab207619a1b: Pushing  2.964GB/6.848GB
    bab207619a1b: Pushing  3.237GB/6.848GB
    bab207619a1b: Pushed
    latest: digest: sha256:c0f71c9aae0edd4a0aafea99e81e0d43a37d1b30d3c70003609d8ca58f8958b2 size: 1770
    
    #查看仓库里的镜像
    root@boot2docker:/home/docker# curl -X GET localhost:5000/v2/_catalog
    {"repositories":["oracle-11g"]}
    

    4, 在别的机器上: 拉取本地仓库的镜像

    # 1,添加仓库地址
    [root@centos7 ~]# echo '{ "insecure-registries":["192.168.226.138:5000"] }' > /etc/docker/daemon.json
    [root@centos7 ~]# systemctl restart docker
    
    #2,拉取本地仓库的镜像
    [root@centos7 ~]#  docker pull 192.168.226.138:5000/oracle-11g                                             Using default tag: latest
    latest: Pulling from oracle-11g
    76450a07fc60: Pull complete
    4f4fb700ef54: Pull complete
    822cd3a01245: Pull complete
    Digest: sha256:c0f71c9aae0edd4a0aafea99e81e0d43a37d1b30d3c70003609d8ca58f8958b2
    Status: Downloaded newer image for 192.168.226.138:5000/oracle-11g:latest
    
    # 3, 查看结果
    [root@centos7 ~]# docker images
    REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
    192.168.226.138:5000/oracle-11g   latest              3fa112fd3642        3 years ago         6.85GB
    
    展开全文
  • Docker 搭建本地仓库

    2018-10-18 16:12:39
    Docker Hub 公有仓库存在以下...解决方案使用本地registryDocker已经讲registry开源了,同时在Docker Hub上也有官方镜像registry我们可以直接使用:(1)启动registry容器shell>docker run -d -p 5000:5000 -v /...

    Docker Hub 公有仓库存在以下缺点:
    1、网络依赖性强,链接速度限制;
    2、私有化资料存放网络不安全
    3、私有化仓库需要收费,存在安全风险

    解决方案使用本地registry
    Docker已经讲registry开源了,同时在Docker Hub上也有官方镜像registry
    我们可以直接使用:
    (1)启动registry容器
    shell>docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
    使用registry:2的镜像
    -d 后台运行
    -p 讲容器的5000端口映射到主机的5000端口
    -v 将容器/var/lib/registry目录映射到Host的/myregistry/docker,用于存放镜像数据

    验证:shell>docker ps 查看仓库容器是否启动

    (2)本地下载一个测试镜像
    shell>docker pull centos

    (3)通过docker tag 重命名本地镜像,与registry匹配
    shell>docker tag centos 仓库服务器地址:5000/用户名/centos:v1
    shell>docker tag centos x.x.x.x:5000/testname/centos:v1
    repository的完整格式为:

    Docker Hub 上可以省略[registry-host]:[port],默认为docker.io

    (4)docker pull/push测试
    shell>docker push x.x.x.x:5000/testname/centos:v1
    shell>docker pull x.x.x.x:5000/testname/centos:v1

    (5)上传的镜像在该目录下
    /myregistry/docker/registry/v2/repositories/docker39/cetnos_httpd/

    提示:
    shell>docker pull x.x.x.x:5000/testname/cetnos
    Using default tag: latest
    Error response from daemon: Get https://x.x.x.x:5000/v2/: http: server gave HTTP response to HTTPS client
    这是docker不支持https
    centos系统通过:修改或者添加daemon.json文件,重启docker服务即可
    shell>vim /etc/sysconfig/daemon.json
    {"insecure-registries":["x.x.x.x:5000"]}

    shell>systemctl restart docker //重启服务后,记得启动registry仓库容器

    转载于:https://blog.51cto.com/7603402/2303926

    展开全文
  • docker 搭建本地仓库

    2018-06-29 10:26:49
    部署Registry使用docker pull命令获取registry的image# sudo docker pull registry:2.1.1使用docker run使用下载的registry的image启动一个容器# sudo docker run -d -p 5000:5000 -v /opt/reg...

    1. 环境准备

    Linux版本:Centos7

    docker版本:17.05.0-ce

    2. 部署Registry

    使用docker pull命令获取registry的image

    # sudo docker pull registry:2.1.1

    使用docker run使用下载的registry的image启动一个容器

    # sudo docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry --restart=always --name registry registry:2.1.1

    查看启动的容器

    # sudo docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    ebb16548e9d3        registry:2.1.1      "/bin/registry /et..."   12 seconds ago      Up 11 seconds       0.0.0.0:5000->5000/tcp   registry 

    打开浏览器,访问http://IP:5000/v2/_catalog,可以查看到{"repositories": []}表示现在仓库中,没有镜像images

    现在,下载一个镜像,然后传到本地仓库中,以下以busybox镜像为例

    # sudo docker pull busybox
    Using default tag: latest
    latest: Pulling from library/busybox
    27144aa8f1b9: Pull complete 
    Digest: sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642
    Status: Downloaded newer image for busybox:latest
    # sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED                  SIZE
    busybox             latest              c30178c5239f        Less than a second ago   1.11 MB
    hello-world         latest              1815c82652c0        20 hours ago             1.84 kB
    registry            2.1.1               52bb991b482e        20 months ago            220 MB
    在本地host上面,给busybox添加新的tag
    # sudo docker tag busybox 192.168.61.128:5000/busybox
    # sudo docker images
    REPOSITORY                    TAG                 IMAGE ID            CREATED                  SIZE
    192.168.61.128:5000/busybox   latest              c30178c5239f        Less than a second ago   1.11 MB
    busybox                       latest              c30178c5239f        Less than a second ago   1.11 MB
    hello-world                   latest              1815c82652c0        20 hours ago             1.84 kB
    registry                      2.1.1               52bb991b482e        20 months ago            220 MB 
    将镜像上传到仓库中
    # sudo docker push 192.168.61.128:5000/busybox
    The push refers to a repository [192.168.61.128:5000/busybox]
    Get https://192.168.61.128:5000/v1/_ping: http: server gave HTTP response to HTTPS client 
    出现上述提示,表示本地的仓库默认使用的是https进行上传,如果是非https就会出现以上的提示

    解决方式,可以参考一下方式

    修改文件/usr/lib/systemd/system/docker.service,在ExecStart=/usr/bin/dockerd后面添加--insecure-registry 192.168.61.128:5000,然后重启docker服务

    # cat /usr/lib/systemd/system/docker.service
    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network.target firewalld.service
    
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd --insecure-registry 192.168.61.128:5000
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    
    [Install]
    WantedBy=multi-user.target
    # sudo systemctl daemon-reload && sudo systemctl restart docker.service
    重新上传
    # sudo docker push 192.168.61.128:5000/busybox
    The push refers to a repository [192.168.61.128:5000/busybox]
    3a1dff9afffd: Pushed 
    latest: digest: sha256:417ae70baa235876876e723f4b630afa7f91a113025d70361597656b5cf0481b size: 2136

    打开浏览器,访问http://IP:5000/v2/_catalog,可以查看到{"repositories": ["busybox"]}表示现在仓库中,存在镜像busybox这一个

    展开全文
  • Docker搭建本地仓库registry

    万次阅读 2018-08-12 20:05:00
    最近了解了harbor,也可以搭建本地仓库,还有图形化界面,很方便 我们上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。 所以我们就搭建本地Registry,来管理我们自己的仓库。...

    最近了解了harbor,也可以搭建本地仓库,还有图形化界面,很方便

    我们上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。
    所以我们就搭建本地Registry,来管理我们自己的仓库。

    Docker 已经将 Registry 开源了,我们可以直接docker pull,

    Docker Hub 上也有官方的镜像 Registry,我们可以注册一个账号,docker login 登陆,然后下载镜像。

    一,部署Registry

    运行命令 docker pull registry

     

    二,运行容器

    -d 是后台启动容器。

    -p 将容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服务端口。

    -v 将容器 /var/lib/registry 目录映射到 Host 的 /myregistry,用于存放镜像数据。

    上传到本地的镜像保存在/myregistry/docker/registry/v2/repositories/ 下面

    查看正在运行的容器

    打开浏览器,访问http://127.0.0.01:5000/v2/_catalog,可以查看到{"repositories": []} 表示现在仓库中,没有镜像images

    三、在本地host上,重命名镜像,添加新的tag,使之与registry 相匹配

    以busybox镜像为例,上传到本地仓库中,或者从Docker Hub 下载也可以、

    镜像名称由 repository 和 tag 两部分组成,默认为latest。可以在docker build 时用格式image:tag指定,

    而 repository 的完整格式为:[registry-host]:[port]/[username]/xxx

    四、上传镜像到仓库中

    成功会出现上述提示,表示本地的仓库默认使用的是https进行上传,那行是latest是重新上传出现的。

    如果你在push镜像的时候出现问题,可能是因为我们启动的registry服务不是安全可信赖的.这个时候我们需要修改docker的配置文件/etc/default/docker,添加下面的内容:   "- - insecure-registry 127.0.0.1:5000", 再重启docker 服务

     

    五、删除下载的镜像,从本地镜像下载。

    docker rmi 127.0.0.1:5000/busybox-test  删除镜像

    docker pull  从本地镜像下载。

    docker images 查看下载成功

    最后在宿主机浏览器中访问127.0.0.1:5000/v2/_catalog,出现上传的镜像。

    在此路径下,可以查看上传到本地的镜像。

    展开全文
  • Docker搭建本地仓库详细过程

    千次阅读 2020-02-06 18:35:58
    为什么要搭建本地仓库? 1.节约带宽:因为如果用docker或阿里云官方的仓库走的互联网浪费带宽,而且慢。 2.提供资源利用和安全:因为公司内部的镜像,推送到本地仓库,更方便公司内部人员用,而且安全性高。 搭建...
  • 搭建本地仓库,可以使其他主机在没有外部网络的情况下可以直接使用本机的仓库镜像 将registry包导入镜像仓库 [root@foundation17 docker]# docker load -i registry.tar f15ce52fc004: Loading layer [============...
  • Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库; 一、本地下载registry sudo docker pull registry:2 二、启动容器运行registry镜像 docker run -d -p 5000:5000 -v /opt/...
  • 1. 搭建本地仓库1.1 下载仓库镜像1.2 启动仓库容器2. 在CentOS容器中安装JDK2.1 下载CentOS容器2.2 运行Linux容器:2.3 将JDK复制到myCentos容器中2.4 进入容器2.5 解压JDK2.6 配置环境变量2.6.1 刷新环境变量2.6.2....
  • 一.概念讲解 1.仓库分为公开仓库(Public)和私有...2.当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使...
  • 一.概念讲解 1.仓库分为公开仓库(Public)和私有...2.当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使...

空空如也

空空如也

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

docker搭建本地仓库