zoukankan      html  css  js  c++  java
  • Doker搭建私有镜像库

    0x01 Doker私有镜像库服务端

    1.1 拉取registry

    docker pull registry
    

    1.2 创建容器

    命令示例:
    
    docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
    

    注:--restart=always: 这个参数表示如果容器异常退出,则会自动重启

    1.3 测试Dokcer镜像仓库

    本地访问:

    curl http://127.0.0.1:5000/v2/_catalog
    

    远程访问地址

    http://服务器IP
    

    0x02 测试镜像仓库

    2.1 修改镜像源

    2.1.1 修改下镜像源

    vim /etc/docker/daemon.json
    
    {
      "registry-mirrors": [ "你的仓库地址:端口"]
    }
    

    2.1.2 重启docker服务

    systemctl restart docker
    

    2.2 为镜像打标签

    命令说明

    格式说明:Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] :lastest 
    
    docker tag centos7:latest 172.18.62.55:5000/centos7:v1
    // centos7:latest这是源镜像,也是刚才pull下来的镜像文件;
    // 172.18.62.55:5000/centos7:v1,这是目标镜像,也是registry私有镜像服务器的IP地址和端口;
    

    2.3 上传镜像到仓库

    docker push 172.18.62.55:5000/centos7:v1
    

    The push refers to repository [172.18.62.55:5000/centos7:v1]

    Get https://172.18.62.55:5000/v2/: http: server gave HTTP response to HTTPS client

    注意了,这是报错了,需要https的方法才能上传,我们可以修改下daemon.json来解决:

    vim /etc/docker/daemon.json
    
    { 
        "registry-mirrors":[ "https://registry.docker-cn.com"], 
        "insecure-registries": [ "你的仓库地址:端口"]
    }
    

    添加私有镜像服务器的地址,注意书写格式为json,有严格的书写要求,然后重启docker服务:

    systemctl restart docker
    

    在次上传可以看到没问题 了:

    docker push 172.18.18.90:5000/centos7:v1
    The push refers to repository [172.18.18.90:5000/centos7]
    c5183829c43c: Pushed
    v1: digest: sha256:c7b0a24019b0e6eda714ec0fa137ad42bc44a754d9cea17d14fba3a80ccc1ee4 size: 527
    

    2.4 下载镜像

    以上传的centos7:v1的镜像为例,如下:

    docker pull 172.18.18.90:5000/centos7:v1
    

    2.5 其他信息

    2.5.1 列出所有镜像

    curl http://172.18.18.90:5000/v2/_catalog
    
    预期的结果例如:
    {"repositories":["centos7"]}
    

    2.5.2 列出centos7镜像有哪些tag

    curl http://172.18.18.90:5000/v2/busybox/tags/list
    
    预期的结果例如:
    {"name":"busybox","tags":["v1"]}
    

  • 相关阅读:
    c++经典书籍介绍
    jpeg软解码实现介绍
    视频编解码类型调查——抖音客户端
    微机接口复习
    更改MySQL数据库的密码
    python学习之创建我的第一个Django项目
    关于 V831 linux 调用 gpio 的一些通用操作。
    SpringBoot整合H2内存数据库快速启动测试
    MybatisPlus的各种功能使用笔记综合!
    MybatisPlus的自动填充功能使用!
  • 原文地址:https://www.cnblogs.com/stone-dan-dan/p/docker.html
Copyright © 2011-2022 走看看