zoukankan      html  css  js  c++  java
  • docker--发布docker镜像

    前戏

    前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了

    发布到docker hub

    我们前面使用docker search 查找的镜像都是从docker hub进行查找的,这里管理着最全的docker镜像,我们也可以上传我们的镜像

    docker hub官网:https://hub.docker.com/

    1.先登录docker hub

    [root@HH tmp]# 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: zouzou0214
    Password: 
    WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded

    2.更改镜像名称(tag是账户名)

    注意要保证image的tag是账户名,如果镜像名字不对,需要改一下tag

    docker tag zz/my-docker-flask zouzou0214/my-docker-flask

    语法是: docker tag 仓库名 账户名/仓库名

    docker tag zouzu0214/my-docker-flask:latest zouzou0214/my-docker-flask

    3.推送到自己的docker hub上

    [root@HH tmp]# docker push zouzou0214/my-docker-flask
    The push refers to repository [docker.io/zouzou0214/my-docker-flask]
    ed6d87727896: Pushed 
    d715287dbe47: Pushed 
    75cf052a90dc: Pushed 
    a7ced2beb634: Pushed 
    3d55a1be5031: Pushed 
    b1febd32aebe: Pushed 
    877b494a9f30: Pushed 
    latest: digest: sha256:70e7f41a767c333bb36dedadedee9655f64de8580a693f0a511925d8ce9eead6 size: 1784

    4.登录https://hub.docker.com/查看自己推送的公网镜像

     

    # 1.注册docker id后,在linux中登录dockerhub
    docker login
    
    注意要保证image的tag是账户名,如果镜像名字不对,需要改一下tag
    docker tag docker-flask zouzou0214/my-docker-flask
    语法是:  docker tag   仓库名   用户名/仓库名
    
    
    # 2.推送docker image到dockerhub
    docker push yuchao163/centps-cmd-exec:latest
    # 3.在dockerhub中检查镜像 https://hub.docker.com/
    # 4.删除本地镜像,测试下载pull 镜像文件 docker pull zouzou0214/my-docker-flask

     发布到私有仓库

    发布到docker hub上其他人也是可以下载,并不安全,因此还可以使用docker registry官方提供的私有仓库。

    构建公司私有docker仓库,其实就是搭建一个api服务器,通过api可以下载镜像

    # 1.下载docker官方提供的私有仓库镜像
        docker pull  registry
    # 2.查看镜像 docker images
    # 3.启动一个私有仓库容器 docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
    # 4.此时可以检查容器进程 docker ps
    # 5.此时私有仓库就打开了5000端口,通过端口映射,访问宿主机的5000端口,查看是否通信 yum install telnet -y telnet 127.0.0.1 5000 #检测5000端口是否通信 # 6.修改本地镜像的tag标签,标注我要往哪push镜像 docker tag docker.io/hello-world 192.168.12.96:5000/s14-hello # 7.修改docker配置,允许非安全的传输方式 1.vim /etc/docker/daemon.json,写入信息,私有仓库地址,都得改成自己的 {"registry-mirrors": ["http://95822026.m.daocloud.io"], "insecure-registries":["192.168.12.96:5000"] } 2.修改docker.server vim /lib/systemd/system/docker.service #写入如下信息,请在[service]中写入 [Service] EnvironmentFile=/etc/docker/daemon.json # 8.重启docker服务,使得生效 systemctl daemon-reload #重新加载docker配置文件 systemctl restart docker #重启docker服务 # 9. #重启docker服务,会停止容器,因此要再次启动 docker ps -a docker start b23bcfe42e80 #启动这个私有仓库容器 # 10.推送本地镜像到 私有仓库 192.168.12.96:5000 docker push 192.168.12.96:5000/s14-hello # 11.此时访问api接口,查看私有仓库的数据 http://192.168.12.96:5000/v2/_catalog

    -v 参数 挂载宿主机的文件:容器内的文件夹  

    docker run -p 8000:8080 -v /opt/zou:/opt/data/ -d 43d
    启动容器,通过-v参数挂载
    挂载容器内的/opt/data/文件夹,其实访问的是宿主机的/opt/zou/

  • 相关阅读:
    windos下安装多个mysql服务
    mysql 提示too many connections”的解决办法
    python打包成exe
    对于点击后需要等待一段时间才会有的元素的操作
    python自动化报错
    自动化测试中对不能输入的框体的处理
    对于下拉框的处理方法
    selenium自动化遇见Cannot find class in classpath问题
    企业如何留住人才
    如何成为一名优秀的前端工程师
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11610288.html
Copyright © 2011-2022 走看看