美文网首页Docker容器Awesome DockerDocker学习
docker配置私有registry&局域网使用

docker配置私有registry&局域网使用

作者: YuriPuck | 来源:发表于2018-08-20 19:56 被阅读0次

    0x00 环境

    Ubuntu 18.04
    docker-ce 18.06

    0x01 pull&run registry

    官方拉registry镜像运行
    docker run -dt -p PORT:5000 --restart=always --name NAME registry
    #--restart=always 每次启动docker启动该容器
    
    或者挂在本地目录到容器目录
    docker run -dt -p PORT:5000 --restart=always -v /opt/data/registry:/var/lib/registry --name NAME registry
    
    进入registry
    docker exec -it CONTAINERID sh
    

    0x02 非本机连接registry

    由于现在的docker默认https,运行registry容器之后只能通过本地ip 127.0.0.1:5000上传镜像,如果需要在局域网内进行pull和push的话需要在进行pull和push的机器上设置.

    证书比较麻烦,选择增加非安全连接白名单
    sudo chmod 777 /etc/docker/daemon.json
    vim /etc/docker/daemon.json
    
    在{}内添加
    "insecure-registries":["IP:PORT"]
    
    注意:如果之前该文件有内容的话,比如aliyun的加速地址,那么记得在后面添加逗号
    保存退出
    sudo systemctl daemon-reload #reload daemon
    sudo systemctl restart docker #restart docker
    

    0x03 test

    拉取一个镜像,以hello-world示例
    docker pull hello-world #拉取hello-world镜像
    docker tag hello-world:latest IP(or 127.0.0.1):PORT/NAME:VERSION
    #给镜像贴上标签
    #IP(or 127.0.0.1):PORT是必须的,用于docker识别私有仓库
    #NAME:VERSION为一般格式
    
    push标记镜像
    docker push IP(or 127.0.0.1):PORT/NAME:VERSION
    #IP(or 127.0.0.1):PORT/NAME:VERSION 之前写的什么就用什么
    
    用curl查看registry中的镜像
    curl IP(or 127.0.0.1):PORT/v2/_catalog
    
    pull之前push的镜像
    docker pull IP(or 127.0.0.1):PORT/NAME:VERSION
    

    相关文章

      网友评论

        本文标题:docker配置私有registry&局域网使用

        本文链接:https://www.haomeiwen.com/subject/iotriftx.html