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

Ubuntu 18.04.4 导入docker镜像,启动镜像,保存容器为镜像,导出镜像的更多相关文章

  1. ubuntu 18.04 上安装 docker

    命令安装 docker 1.直接从 ubuntu 仓库安装,打开终端,输入: 2.启动 docker 服务  . 设置开机自启动 docker 服务 3.免 sudo 配置:

  2. Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动

    目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...

  3. [笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程

    之前写的[笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程已经out了,以这篇为准. Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心 ...

  4. Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法

    一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里.同时WEB测试环境通过docker也部署在这台.通过git钩子post-receive,当有新代 ...

  5. Ubuntu 18.04 启动root账号并授权远程登录

    Ubuntu 18.04 刚刚上市2个月,下载安装,尝尝鲜~ 安装界面看上去舒服许多, 安装的速度也较之前17.04 和16.04 都快了许多.抱歉,未截图. Ubuntu 安装完成后默认不启动roo ...

  6. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  7. ubuntu 18.04 - server版 开机启动脚本

    ubuntu 18.04 不再使用 inited 管理系统,改用 systemd systemd 默认读取 /etc/systemd/system 下的文件,该目录下的文件会链接/lib/system ...

  8. How To Install Docker On Ubuntu 18.04

    Docker is an increasingly popular software package that creates a container for application developm ...

  9. Ubuntu 18.04 LTS 常用软件安装杂记

    之前个人笔记本装的是 Linux Mint,用了一段时间但是体验不佳,所以打算换成 Ubuntu .作为一个 Linux 小白,当时配置一些软件环境费了不少时间.这次打算简单记录下,和大家分享一下我的 ...

  10. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

随机推荐

  1. The bean ‘xxx‘ could not be injected as a ‘xxx‘because it is a JDK dynamic proxy that implements错误解决

    1.解决方法:使用@Autowired 2.@autowired和@resource注解的区别区别:1.@Autowired注解由Spring提供,只按照byType注入:@resource注解由J2 ...

  2. vuex中的数据在页面刷新后数据消失

    用sessionstorage 或者 localstorage 存储数据 存储: sessionStorage.setItem( '名', JSON.stringify(值) ) 使用: sessio ...

  3. springboot和springmvc区别:

    spring boot只是一个配置工具,整合工具,辅助工具.springmvc是框架,项目中实际运行的代码Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但 ...

  4. PasteSpider的集群组件PasteCluster(让你的项目快速支持集群模式)的思路及实现(含源码)

    PasteSpider是什么? 一款使用.net编写的开源的Linux容器部署助手,支持一键发布,平滑升级,自动伸缩, Key-Value配置,项目网关,环境隔离,运行报表,差量升级,私有仓库,集群部 ...

  5. typescript class属性定义的先后问题

    example e.g. 1 e.g. 2 e.g. 3 解释 在 typescript 中 定义一个 class class 的 constructor 里面的语句在转义成 JavaScript 之 ...

  6. idea部署运行tomcat项目方法

    在导航栏点击Add Configuration-或者(打开菜单Run->Edit Configuration) 点击+号,选择Tomcat Server ->选择Local->在Na ...

  7. 在System身份运行的.NET程序中以指定的用户身份启动可交互式进程

    今天在技术群里,石头哥向大家提了个问题:"如何在一个以System身份运行的.NET程序(Windows Services)中,以其它活动的用户身份启动可交互式进程(桌面应用程序.控制台程序 ...

  8. 阿里云 腾讯云上搭建Samba服务

    对于这个主题,鄙人走了很久的坑,最后很抱歉的告诉你. 运营商把Samba服务的端口全部封掉了,所以你根本就没办法访问! 那怎么办,我Windows空间不够,又不想浪费云上的资源. 那就用FTP代替它吧 ...

  9. 3568F-Linux应用开发手册

       

  10. Springboot整合Apollo

    一.Apollo作用 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关.参数的配置.服务器的地址-- 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境.分集群管理配置,完善 ...