zoukankan      html  css  js  c++  java
  • Docker基于已有的镜像制新的镜像-Docker for Web Developers(3)

    1.根据运行的容器制作镜像

    #查看所有的容器
    docker ps
    
    #暂停当前容器
    docker pause COTNAINER-ID
    
    #将容器运行当前状态提交
    docker commit COTNAINER-ID
    
    #根据COMMIT-ID打包容器Tag
    docker tag COMMIT-ID
    
    

    经过以上几个步骤,根据当前运行的容器制作镜像就完成了。

    2.上传镜像到Docker Hub

    如果未登录Docker Hub,需要登录Docker Hub

    docker login
    #输入用户名和密码
    

    推送镜像到Docker Hub

    docker push IMAGE-NAME
    

    运行结果如下图所示:
    docker push IMAGE-NAME

    在Docker Hub上可以查看到我们刚刚上传的镜像文件,因为这个镜像是公开的,所以现在所有人都能够docker pull获取该镜像。

    bage88/firstimage on Docker Hub

    3.获取上传的镜像并运行

    因为我使用的是同一台Ubuntu机器,我本地已经有了bage88/firstimage这个镜像,我先要删除该镜像,然后再获取。

    3.1 删除镜像

    #### 删除镜像
    docker rmi IMAGE_NAME
    

    提示如下错误,有基于该镜像的容器在运行,所以我先要删除这个容器,再删除镜像。

    Error response from daemon: conflict: unable to remove repository reference "bage88/firstimage"
    (must force) - container 25dca6040e7e is using its referenced image 31758d7d9e60
    

    3.2 删除容器

    docker rm 25dca6040e7e(这个是容器ID)
    

    再执行一次删除镜像命令:

    docker rmi bage88/firstimage
    
    ###结果如下,说明删除镜像成功
    Untagged: bage88/firstimage:latest
    Untagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481
    Deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381ad
    Deleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5
    
    

    3.3 获取镜像

    docker pull bage88/firstimage
    

    3.4 运行镜像

    docker run -d -p 8010:80 bage88/firstimage
    

    查看结果:

    docker run -d -p 8010:80 bage88/firstimage

  • 相关阅读:
    catboost原理以及Python代码
    lightgbm原理以及Python代码
    stacking算法原理及代码
    python自动化之爬虫模拟登录
    python自动化之爬虫原理及简单案例
    python自动化之PDF
    input type="file"鼠标无法变小手
    typescript中类和接口的区别
    TypeScript基础类型
    微信小程序-获取input值的两种方法
  • 原文地址:https://www.cnblogs.com/liminjun88/p/6839198.html
Copyright © 2011-2022 走看看