• Docker系列【搭建docker私有仓库】


    前提:会使用Dockerfile构建镜像,不会的参考https://www.cnblogs.com/hujunwei/p/15823522.html

    1.拉取私服镜像

    docker pull registry

    2.启动docker私服

    docker run -di --name=registry ‐p 5000:5000 registry

    3.打开浏览器 输入地址"http://192.168.26.130:5000/v2/_catalog"看到 {"repositories":[]} 表示私有仓库搭建成功,并且内容为空。

    4.修改daemon.json,此步用于让 docker信任私有仓库地址
    vi /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
    "insecure-registries": ["192.168.26.130:5000"]
    }

    5.重启docker服务

    systemctl restart docker

    6.重启registry

    docker start registry

    7.镜像上传至私有仓库

    #标记此镜像jdk1.8_hjw为私有仓库的镜像,这个镜像和jdk1.8的镜像镜像id是一样的
    docker tag jdk1.8_hjw 192.168.26.130:5000/jdk1.8

    #上传标记的镜像
    docker push 192.168.184.141:5000/jdk1.8

    8.这时候访问"http://192.168.26.130:5000/v2/_catalog",就可以看到上传的镜像。

     9.从私有仓库下载镜像,此时在另一台装有docker的服务器上,重复4,5步骤,然后下载镜像

    docker pull 192.168.26.130:5000/jdk1.8

     扩展:

    第一台配置

    [root@docker ~]# docker pull registry 
    #下载registry镜像
    [root@docker ~]# docker run -tid --name registry --restart=always -p 5000:5000 - v /data/registry:/var/lib/registry registry
    #运行该镜像,各个选项含义如下:
    # -tid:以后台持久运行,并分配一个可交互的为终端
    # --name registry :给容器定义一个名字
    # --restart=always:该容器可以随着docker服务的启动而启动
    # -p:将容器的端口映射到宿主机,冒号前面是宿主机的端口,冒号后面是容器的端口,registry的默认端 口是5000
    # -v:将宿主机的目录挂载到容器中,冒号前面是宿主机的目录,冒号后面是容器中的目录
    [root@docker ~]# docker images
    #查看当前的镜像
    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos latest 0f3e07c0138f 2 weeks ago 220MB
    registry latest f32a97de94e1 7 months ago 25.8MB
    [root@docker ~]# docker tag centos:latest 192.168.20.7:5000/centos:latest
    #更改镜像名称,以便符合私有仓库名称规范
    #注:私有仓库镜像的命名规则:192.168.20.7:5000/XXX(宿主机的IP:5000端口/镜像名称)
    [root@docker ~]# vim /usr/lib/systemd/system/docker.service
    #更改docker的配置文 件,以便指定私有仓库 ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
    #定位到上面那行,在后面添加“--insecure-registry”并指定私有仓库的IP及端口,然后保存退出即可
    [root@docker ~]# systemctl daemon-reload
    #重载配置文件
    [root@docker ~]# systemctl restart docker
    #重启docker服务
    [root@docker ~]# docker push 192.168.20.7:5000/centos:latest
    #上传镜像至私有仓 库
    [root@docker ~]# curl 192.168.20.7:5000/v2/_catalog
    #查看私有仓库中的镜像
    {"repositories":["centos"]}
    [root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list
    #查看镜像的详细信息
    {"name":"centos","tags":["latest"]}

    第二台配置

    [root@docker02 ~]# vim /usr/lib/systemd/system/docker.service 
    #编辑主配置文件 ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
    #定位到上面那行,添加“--insecure-registry”指定私有仓库的IP及参数 #添加完成后,保存退出即可

    [root@docker02 ~]# systemctl daemon-reload
    #重载配置文件
    [root@docker02 ~]# systemctl restart docker
    #重启docker服务
    [root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest
    #下载私有仓库的中的镜像
    [root@docker02 ~]# docker images
    #确认下载的镜像
  • 相关阅读:
    shellscript 02 find & xargs
    PL/SQL exception
    PL/SQL 游标
    Eclipse
    【数据存储】操作资源文件
    【AsynTask】Android异步加载一张图品
    【数据存储】利用IO流操作文件
    【数据存储】DOM操作
    【特效】手指滑动:水波纹
    【数据存储】SAX操作
  • 原文地址:https://www.cnblogs.com/hujunwei/p/15868415.html
Copyright © 2020-2023  润新知