zoukankan      html  css  js  c++  java
  • docker搭建私有仓库

    一.服务端仓库(ip:192.168.2.25)
    1.拉取registry
    docker pull registry

    2.运行
    docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

    参数说明
    -itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
    -v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
    -p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
    --restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
    --name registry:创建容器命名为registry,你可以随便命名;
    registry:latest:这个是刚才pull下来的镜像;

    3.测试
    [root@registry ~]# curl http://127.0.0.1:5000/v2/_catalog
    {"repositories":[]}

    因为没有镜像,所以是空的


    二.客户端

    1.修改下镜像源并重启docker服务
    #vi /etc/docker/daemon.json
    {
    "registry-mirrors": [ "https://registry.docker-cn.com"]
    }

    # systemctl restart docker

    2.拉取一个镜像
    #docker pull nginx

    3.打标签
    #docker tag docker.io/nginx:latest 192.168.2.25:5000/nginx:laster

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

    4.修改以http方式上传到镜像服务器,并重启docker
    #vi /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "insecure-registries": ["192.168.2.25:5000"]
    }
    #systemctl restart docker

    5.上传镜像
    #docker pull 192.168.2.25:5000/nginx:laster

    6.删除本地镜像
    #docker rmi -f $(docker images -aq)

    7.拉取镜像
    #docker pull 192.168.2.25:5000/nginx:laster

    8.列出所有镜像
    #curl 192.168.2.25:5000/v2/_catalog

    {"repositories":["nginx"]}

  • 相关阅读:
    1022. 从根到叶的二进制数之和
    剑指 Offer 54. 二叉搜索树的第k大节点
    枚举--百练2811--熄灯问题
    UVA 572 BFS 图论入门
    百练1088 DP+DFS 迷宫问题
    poj 1661 动态规划 拯救老鼠
    入坑动态规划!POJ 1458字符串最大公共子序列
    文件后缀批处理
    奇妙的算法--UVA 679(二叉树的编号)
    栈_uva514
  • 原文地址:https://www.cnblogs.com/itfenqing/p/10053973.html
Copyright © 2011-2022 走看看