镜像操作

列出镜像:

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
hello-world         latest              0a6ba66e537a        4 weeks ago         960 B

获取镜像:

docker系统镜像可以从任意一个可访问的镜像仓库获取,默认从docker hub上获取,如果下载太慢的话可以考虑国内的镜像仓库,例如dl.dockerpool.com:5000或者阿里云镜像库下载。

docker获取镜像用docker pull命令,如下:

#从docker官方仓库下载ubuntu12.04版本镜像
sudo docker pull ubuntu:12.04
从dl.dockerpool获取镜像
sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04

注意:从第三方镜像仓库获取镜像可能出现https证书问题,例如:

Error response from daemon: unable to ping registry endpoint https://dl.dockerpool.com:5000/v0/
v2 ping attempt failed with error: Get https://dl.dockerpool.com:5000/v2/: tls: oversized record received with length 28012
v1 ping attempt failed with error: Get https://dl.dockerpool.com:5000/v1/_ping: tls: oversized record received with length 28012

解决方案:

进入/etc/default目录,找到docker文件,在其中添加如下代码:

DOCKER_OPTS="--insecure-registry dl.dockerpool.com:5000"

之后重启docker服务:

sudo service docker restart

镜像保存与导入

保存的文件以.tar方式存在

保存方式一:save

save命令会将镜像完整保存,包括历史版本和元数据信息,所以文件可能比较大。

-o: 表示以文件的形式导出  紧跟在-o后面的是导出文件保存的位置  最后是镜像(仓库:TAG,或者镜像id)sudo docker save -o /home/fengzheng/dockerImages/mmm.tar ubuntu:12.04

同样用的是Ubuntu,在一台机器上正常,在另外一台机器上报如下错误,还没有找到原因,希望有知道原因的朋友在评论里指出,不胜感激。

 Error response from daemon: open /var/lib/docker/aufs/mnt/30868777f2756735efc907c763555f869472d48ea92156c3c4b09ac22ec4adc6/.wh..wh.plnk/1003.3513973: operation not permitted

保存方式二:export

确切的说,export其实是容器的保存,只把镜像当前的状态保存下来,没有历史版本等信息,所有文件比较小

-o:表示以文件形式导出 紧跟在-o后面的是导出文件保存位置   最后是容器的id 容器通过sudo docker ps -a 查看,下一篇会介绍docker export -o ubuntu1204.tar d0751467dcad

镜像导入:

docker load

sudo docker load < /home/fengzheng/Docker/ubtuntu12.04.tar

镜像删除

删除镜像前,要先把依赖于这个镜像的容器删除(sudo docker rm 容器id)

删除镜像的命令是docker rmi [镜像id]

sudo docker rmi 0ac5b09d8536
Deleted: 0ac5b09d8536832e73c10e39bfda2e94781e07ebe47a206ea1c20f3f672f258a
Deleted: efbb515ae632b8ba4b8536c1eadcf1304d915c076fcadbc8c2cb6f8f2ab82013
Deleted: 5e59ab4801348d2d951c93373151bf0b4059c30bb1b58af4ce5e390114e83e1c
Deleted: be10ee96620dd1cb4bae39bb0351f241eed25b086e0c90a907a29eef2af41b34

提交修改的容器,并生成新的镜像

当对现有容器进行修改后,例如安装了某些软件、修改了配置等,要保存当前修改并生成新的镜像,使用docker commit命令 ,这个命令和git的commit命令很像

# -a:修改者信息 -m:注释、说明  紧跟着当前操作的容器id   最后是要生成的新的镜像名称sudo docker commit -a "fengzheng" -m "this is a commit message" ae2a59b86dd9 fengzheng/ubuntu
085243761c41ae58e92ba855539460b7342a5cd31b44b51a71c654bb8f823c10

查看镜像的信息:docker inspect [镜像名称或者镜像id]

sudo docker inspect fengzheng/ubuntu
或者
sudo docker inspect 085243761c41

容器操作

新建并启动容器

根据一个镜像可以启动多个容器,启动容器的命令是docker run

sudo docker run -t -i ubuntu:12.04  /bin/bash
或者
sudo docker run -t -i  镜像id

常用参数解释:

-t 表示让Docker分配一个伪终端并绑定到容器的标准输入上

-i 表示让容器的标准输入保持打开

-d 表示以守护方式打开(即非交互模式,后台运行)

还有一个比较常用的,做网络配置时端口映射的参数-p,例如下面的命令将宿主机的3222端口映射到容器的22端口、将宿主机的3280端口映射到容器的22端口,用法如下:

#-p 设置端口映射 -p 宿主机端口:容器端口  sudo docker run -t -i -p 3222:22 -p 3280:80 87e5b6b3ccc1 /bin/bash

查看容器列表

#查看已启动的容器
sudo docker ps #查看所有容器
sudo docker ps -a  

启动一个已存在的容器  

#后面的id为容器IDsudo docker start 8d98fd43acd4

进入容器  

sudo docker attach 8d98fd43acd4

停止容器

sudo docker stop 8d98fd43acd4

删除容器

容器必须是停止状态的才可以删除

sudo docker rm 8d98fd43acd4

导出容器

#将容器id为7691a814370e 的导出到当前目录下 名称为ubuntu.tar
sudo docker export 7691a814370e > ubuntu.tar

导入容器  

 

  

 

转载于:https://www.cnblogs.com/fengzheng/p/4958571.html

Docker:镜像操作和容器操作相关推荐

  1. docker镜像管理基础和操作

    #docker镜像管理基础 镜像的概念 镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱. docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器. docker ...

  2. yolov5制作docker镜像并在容器中使用

    说明:本教程为将yolov5制作为docker镜像,通过容器实现yolov5的调用. 一.建立包含yolov5所需库的dockerfile,基于普通深度学习dockerfile修改,具体dockerf ...

  3. Docker(二)容器操作容器

    Docker架构(二)容器操作 容器是Docker的令一个可行概念,容器就是镜像的运行实例,是独立运行的一个或一组应用 (1)Docker容器的创建和启动 容器创建就是镜像加载过程 命令格式:dock ...

  4. Docker镜像原理及容器数据卷

    什么是docker镜像? docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量.用户等):镜像不包含任 ...

  5. linux系统下使用docker镜像并安装容器

    文章目录 一.docker安装及配置 1.操作文档 2.步骤 2.1 卸载旧版本 2.2 设置仓库 2.3 安装新docker 2.3 启动docker 2.4 设置docker开机自启动 2.5 卸 ...

  6. 【Docker】备份Docker镜像image、容器container、数据volume

    文章目录 镜像image备份 容器container备份 数据卷volume 基本操作 数据卷备份 reference 本意上想要了解一下 Docker 容器中 Volume 的备份,毕竟重要的数据都 ...

  7. spring boot项目生成docker镜像并完成容器部署

    一.问题产生 把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错. 二.部署步骤 1.利用maven或者grad ...

  8. docker镜像中进入容器命令行并查看运行中的容器

    之前遇到过一个项目直接给了一个docker环境,但是我对于docker的命令行并不熟,于是查了相关资料,这里以容器MySQL为例,给大家举个例子 启动镜像中的MySQL 启动MySQL分为两步: 查看 ...

  9. Docker基础认识,镜像、容器操作及镜像的制作

    一.了解虚拟机和容器的区别 二.Docker概述 三.安装Docker 1.安装依赖包 2.设置阿里镜像源 3.安装Docker-CE 四.docker常规操作 1.镜像加速(提高镜像下载速度) 2. ...

最新文章

  1. linux-glibc内存管理小结2(内存相关系统调用的实现)
  2. 院长齐聚,答疑解惑 | 清华-青岛数据科学研究院“院长接待日”成功举办
  3. 价格走势PHP源码,php多币种区块链交易所源码 存取功能齐全+最新价格走势正常...
  4. spring cloud整合OpenFeign
  5. 使用ultramon调整任务栏高度
  6. 【SpringBoot笔记】SpringBoot整合Druid数据连接池
  7. [bbk2908]第4集 - Chapter 03 - 介绍RAC的体系结构
  8. 刚毕业就年薪30万,程序员真的这么有“钱”途吗?
  9. java 无锁框架_高性能无锁并发框架 Disruptor,太强了!
  10. 谷粒商城基础篇爬坑笔记--No Feign Client for loadBalancing defined以及加载测试失败
  11. python遍历链表_Python实现单向循环链表
  12. Android的系统架构
  13. 如何从零配置腾讯云cdn加速服务?
  14. mysql2005导出mdf,sql server 2005只有.mdf文件如何附加
  15. Ubuntu18.04安装搜狗输入法无法切换中英文
  16. 君澜再入宁波打卡孤岛式静谧度假;万达酒店联袂头部漫画APP快看打造国漫展 | 全球旅报...
  17. pyecharts绘制地铁图_2025年北京市轨道交通线路预绘图(含地铁、有轨电车、市郊铁路)...
  18. 豆豆趣事[2014年08月]
  19. 马克思主义哲学笔记(三)
  20. Ant Design Table columns 参数配置隐藏列方法

热门文章

  1. Skype的收购为微软带来了什么
  2. CentOS yum源
  3. Redis 4.0.X版本reshard出现错误的解决办法
  4. Exchange 2007 的邮件监控器
  5. python 列表解析
  6. dedecms织梦移站后替换数据库中文件路径命令
  7. 压缩目录Linux常用的几种文件压缩解压方法
  8. 使用rsync同步linux服务器上的文件到windows上
  9. 使用 EclEmma 来显示代码覆盖率
  10. 程序员修炼之道阅读笔记01