• 10、镜像分发


      将自己构建的镜像分享给别人,可以将镜像上传到docker hub上。想要网docker hub上传镜像,必须先注册docker ID。注册完成之后登陆即可创建自己的仓库。

    10.1 在命令行登陆docker hub

    [root@docker ~]# docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: staryjie
    Password:
    Login Succeeded
    [root@docker ~]# 
    

    10.2 上传镜像到docker hub

    [root@docker ~]# docker push staryjie/hello-docker:latest
    The push refers to repository [docker.io/staryjie/hello-docker]
    a49cbadde910: Pushed
    latest: digest: sha256:a2396dbca89d79ee9cbe614cd8dd231b0bcd31bd920ae54844eba0f5edbe1ba5 size: 527
    [root@docker ~]# 
    

      打开docker hub查看:

    docker hub

    10.3 从docker hub下载镜像

    [root@docker ~]# docker pull staryjie/hello-docker
    Using default tag: latest
    latest: Pulling from staryjie/hello-docker
    f83f369e4dd4: Pull complete
    Digest: sha256:a2396dbca89d79ee9cbe614cd8dd231b0bcd31bd920ae54844eba0f5edbe1ba5
    Status: Downloaded newer image for staryjie/hello-docker:latest
    [root@docker ~]# 
    

    10.4 分享Dockerfile

      docker hub支持关联GitHub,并且可以根据你GitHub上的Dockerfile自动构建镜像到docker hub。

    10.5 搭建私有registry

      搭建自己的私有docker仓库:

    docker run -d -p 5000:5000 --restart always --name registry registry:2
    

      重新构建image:

    docker build -t xx.xx.xx.xx:5000/hello-docker .  # xx.xx.xx.xx是指安装了私有仓库的服务器的ip
    

      在push之前,我们需要进行一下操作,避免docker认为我们的私有仓库是不可信任的:

    1. 在/etc/docker/目录下创建daemon.json文件,并添加如下内容:
    {"insecure-registries":["xx.xx.xx.xx:5000"]}
    
    1. 编辑/lib/systemd/system/docker.service文件,添加如下内容:
    EnvironmentFile=-/etc/docker/daemon.json
    
    1. 重启docker服务
    systemctl daemon-reload
    systemctl restart docker
    

      上传镜像到私有仓库:

    [root@docker ~]# docker push xx.xx.xx.xx:5000/hello-docker        # xx.xx.xx.xx是指安装了私有仓库的服务器的ip
    The push refers to repository [xx.xx.xx.xx:5000/hello-docker]
    f2a3b7c94098: Pushed
    latest: digest: sha256:bcdc10d4923f94e6728d5c04a16201a7ac05ab9ccec80a353b0038c14f8f0080 size: 527
    [root@docker ~]# 
    

    私有的docker registry没有web界面,但是docker官方提供了一些API供我们使用。
    docker registry API

    浏览器访问:http://xx.xx.xx.xx:5000/v2/_catalog
    
  • 相关阅读:
    bootstrap媒体查询
    Qt用Zip压缩文件夹的一些坑
    QCanvasItem介绍-QT3
    C盘无损扩容
    ArcGis连接oracle失败:ORA-6413:连接未打开
    通过ArcMap发布服务
    windows系统下使用cd命令
    C语言运算符优先级
    c/c++ 指针
    c++数组易错点总结
  • 原文地址:https://www.cnblogs.com/jie-fang/p/10279713.html
Copyright © 2020-2023  润新知