Ubuntu 18.04.4 导入docker镜像,启动镜像,保存容器为镜像,导出镜像

1.  查看  docker 版本

sudo docker version

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_javascript

 2. 查看本地库中的镜像 

sudo docker images

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_浪潮计算平台_02

3.   查看  正在运行的  容器

sudo docker ps -a

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_标准输入_03

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

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

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_docker_04

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

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_浪潮计算平台_05

6.    为库中镜像改名

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

库中镜像:

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_标准输入_06

镜像改名:

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_javascript_07

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

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_docker_08

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.执行完毕之后容器被终止

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

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

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_javascript_09

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

 具体命令

docker commit 2ec7cf215b52 new_pytorch:v1

2ec7cf215b52 为容器的ID

new_pytorch 为保存成镜像的名

v1 为保存成镜像的标签

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_javascript_10

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

查看库中的镜像

docker images

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_docker_11

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

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

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_标准输入_12

成功导出:

Ubuntu 18.04.4  导入docker镜像,启动镜像,保存容器为镜像,导出镜像_标准输入_13

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

附注(常用命令):

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

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) 来删除镜像。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值