zoukankan      html  css  js  c++  java
  • Ubuntu 18.04.4 导入docker镜像,启动镜像,保存容器为镜像,导出镜像

    1.  查看  docker 版本

    sudo docker version

     2. 查看本地库中的镜像  

    sudo docker images

    3.   查看  正在运行的  容器

    sudo docker ps -a

    4.   导入 镜像的   tar 文件  到本地库

    sudo docker   load  -i  14.14.14.100_5000_pytorch_pytorch_1.1.0-cuda10-py36.tar

    5.  再次查看库中镜像和运行的容器,发现库中已有镜像

    6.    为库中镜像改名

     
    docker tag {imageID} {repository}:{tag}

    库中镜像:

    镜像改名:

     改名后,相同 ID 的镜像会有两个, 这时不能 用镜像ID 来删除镜像,因为这时该镜像有两个引用(有了两个名)。为防止一个镜像多个名,我们可以设置相同的名但是不同的tag标签, 也或者直接删掉多余的命名和标签,如下:

     

    7.    根据库中的镜像运行容器:

    sudo docker run -it      14.14.14.100:5000/pytorch/pytorch:1.1.0-cuda10-py36   /bin/bash

    其中, 

        14.14.14.100:5000/pytorch/pytorch:1.1.0-cuda10-py36      为 容器名+容器tag



    参数  -t  让Docker分配一个伪终端并绑定在容器的标准输入上,-i 让容器的标准输入保持打开。

    使用docker run命令来启动容器,docker在后台运行的标准操作包括
    1.检查本地是否存在指定的镜像,不存在则从公有仓库下载
    2.使用镜像创建并启动容器
    3.分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
    4.从宿主主机配置的网桥接口中桥接一个虚拟接口道容器中去
    5.从地址池分配一个ip地址给容器
    6.执行用户指定的应用程序
    7.执行完毕之后容器被终止

    说明来自: https://www.cnblogs.com/linjiqin/p/8608975.html

    8.    在运行的容器中安装软件后, 将该容器保存为新的镜像 

     查看需要保存为镜像的容器信息

     根据容器ID 来保存容器为镜像。

     具体命令:

    docker commit 2ec7cf215b52 new_pytorch:v1
    2ec7cf215b52 为容器的ID 
    new_pytorch 为保存成镜像的名
    v1 为保存成镜像的标签

     9.   把库中的镜像保存到硬盘

    查看库中的镜像

    docker images

    报库中的镜像导出到硬盘上:

    docker save -o /tmp/new_pytoch:v1.tar new_pytorch:v1

    成功导出:

     -----------------------------------------------------------------

    附注(常用命令):

    连接到某个正在运行的容器

    docker attach $CONTAINER_ID

    启动某个已经停掉的容器     (  start 命令只能启动一个已经停掉的容器  )

    docker  start  $CONTAINER_ID

    启动某个容器     (  restart 命令可以重启正在运行的容器,也可以启动已经停掉的容器  )

    docker   restart   $CONTAINER_ID

    ***  不论是  start命令还是restart 命令  启动的容器如果有交互终端则只能通过  docker attach $CONTAINER_ID 进入 。

    删除docker中的镜像

    docker rmi 镜像id

    删除docker中的容器

    docker rm 容器id

    查看当前正在运行的容器

    docker ps

    查看所有容器:(包括 正在运行的, 也包括退出的容器)

    docker ps -a

    注意, 在删除某个镜像之前要保证没有使用该镜像的容器(包括正在运行的容器,也包括退出的容器)。

    因此,我们需要先删除使用该镜像的已退出的容器, 而对于正在运行的容器我们需要先停掉该容器,再删除容器。当没有使用该镜像的容器存在的情况下,我们才能删除该镜像。

    对于多镜像 ID 相同的情况下,我们需要使用  镜像名+镜像标签(tag) 来删除镜像。

    参考资料:

    https://blog.csdn.net/qq_26709459/article/details/80785761

     https://www.cnblogs.com/linjiqin/p/8608975.html

    https://blog.csdn.net/x8h8kenan/article/details/80229279

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    给暗黑2佣兵换装备,他/她说的英语是什么?
    为什么“家徒四壁”中的徒是仅仅,只有的意思?
    喜马拉雅几个有意思的订阅内容
    看似最艰苦的道路,长远考虑确是收益最大,实际上最容易的路
    《赠友》--杜运夑
    【Python】由host得到IP
    day31_Hibernate复习_03(补刀)
    day31_Hibernate复习_03
    day31_Hibernate学习笔记_03
    MyEclipse2017 CI 断点无效
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/13686177.html
Copyright © 2011-2022 走看看