第三章 Docker的镜像
3.1、获取镜像
获取镜像
docker pull name[:TAG] #默认是从网络下载镜像,不指定tag会人下载latest标签下的镜像。
12docker search ubuntudocker pull ubuntu获取指定标签的镜像
sudo docker pull ubuntu:14.04
sudo docker pull docker.io/darksheer/ubuntu #由darksheer用户上传的镜像
从其他注册服务器下载镜像
sudo docker pull d1.dockerpool.com:5000/ubuntu
利用镜像创建一个容器,并在其中运行bash
[root@kakarott wuzb]# docker run -t -i centos /bin/bash
[root@69d1a53fc9c1 /]#
3.2、查看镜像信息
列出本机已有的镜像(标签、仓库、镜像ID、创建时间和大小)
[root@kakarott wuzb]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest 5faba1a71ec4 2 weeks ago 406.9 MB
docker.io/centos latest 98d35105a391 2 weeks ago 192.5 MB
docker.io/ubuntu latest 0ef2e08ed3fa 5 weeks ago 130 MB
TAG标签标注区别不同版本:比如ubuntu仓库中有多个版本的镜像14.04、12.10等等
给镜像添加标签
docker tag docker.io/mysql:latest mysql:latest

查询镜像的详细信息(通过imageID)
docker inspect 5faba1a71ec4
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849{"Id":"sha256:5faba1a71ec40108975684d095f6bac32d6db87bc55576e09deb559fbafda213","RepoTags": ["docker.io/mysql:latest","mysql:latest"],"RepoDigests": ["docker.io/mysql@sha256:b39e58483853ecd03160f9bfdc8d3ecb0be9071fdbbe5484d6a115677b62c84e"],"Parent":"","Comment":"","Created":"2017-03-21T21:53:32.983892123Z","Container":"082cc8c766b5590b15c073e268ab85673e63b543a8e4b433c5034308e4957a1b","ContainerConfig": {"Hostname":"7e9ec6cde4d1","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts": {"3306/tcp": {}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.7","MYSQL_MAJOR=5.7","MYSQL_VERSION=5.7.17-1debian8"],"Cmd": ["/bin/sh","-c","#(nop) ","CMD [\"mysqld\"]"],"ArgsEscaped":true,"Image":"sha256:9ee2ffbf430a0bf54df6a0016076b677d6ee1b5c029d458390954b72aadf4391","Volumes": {"/var/lib/mysql": {}},"WorkingDir":"","Entrypoint": ["docker-entrypoint.sh"],"OnBuild": [],"Labels": {}[root@kakarott wuzb]# docker inspect -f {{".Id"}} 5faba1a71ec4
sha256:5faba1a71ec40108975684d095f6bac32d6db87bc55576e09deb559fbafda213
注:查找固定参数
3.3、搜索镜像(唯一标识是ID,标签是为了区分版本)
搜索镜像(查到镜像:说明、是否官方等等信息。默认是从docker hub官网上查询出来的)
docker search python
docker search python --automated=false
3.4、删除镜像
通过标签来删除
docker rmi mysql
特别说明:一个镜像只有唯一一个id。当一个镜像有多个标签,通过标签删除只会删除该标签。如果镜像只有
一个标签,那么就会删除该镜像。

通过镜像ID来删除镜像(ID唯一,如果该镜像有依赖关系是不能删除的)
docker rmi 5faba1a71ec4
docker rmi -f 5faba1a71ec4 (强制删除,但是删了镜像但是会留存依赖)
正确的删除方式:先删除依赖,再删除镜像本身
docker rm dcb
docker rmi -f 5faba1a71ec4

3.5、创建镜像
创建镜像的方法三种:基于已有镜像来创建、基于本地模板导入、基于dockerfile创建。
基于已有镜像创建
docker run -t -i docker.io/centos:latest
touche test
docker commit -m "Add a new file test" -a "wuzb" 040e7af9b1f5 test -m:更改内容 -a:修改者 后面的id是容器id test是仓库名

基于本地模板创建
cat ubuntu-16.04-x86_64.tar.gz |docker import - ubuntu:16.04
import - 【仓库名:标签名】

3.6、存出和载入镜像
存出镜像
docker save -o wuzb01.tar test:latest

载入镜像
docker load --input wuzb.tar
这里因为个载入过了,所以报了exist

3.7、上传镜像
step1——找到本地镜像的ID:docker images
docker images
step2——登陆Hub:docker login --username=username --password=password --email=email
docker login --username=wap306183118 --password=******
step3——tag:docker tag <imageID> <namespace>/<image name>:<version tag eg latest>
docker tag wuzb:latest wap306183118/wuzb:latest
step4——push镜像:docker push <namespace>/<image name>
docker push wap306183118/wuzb:latest
123456789101112131415161718192021222324252627[root@kakarott wuzb]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEwap306183118/wuzb latest 65ae3ff7de66 About an hour ago130MBwuzb latest 65ae3ff7de66 About an hour ago130MBwzb/latest latest 65ae3ff7de66 About an hour ago130MBdocker.io/centos latest 98d35105a3913weeks ago192.5MBdocker.io/ubuntu latest 0ef2e08ed3fa5weeks ago130MB[root@kakarott wuzb]# docker tag wuzb:latest wap306183118/wuzb:latest[root@kakarott wuzb]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEwuzb latest 65ae3ff7de6647minutes ago130MBwzb/latest latest 65ae3ff7de6647minutes ago130MBwap306183118/wuzb latest 65ae3ff7de6647minutes ago130MBdocker.io/centos latest 98d35105a3913weeks ago192.5MBdocker.io/ubuntu latest 0ef2e08ed3fa5weeks ago130MB[root@kakarott wuzb]# docker login --username=wap306183118 --password=******Flag --email has been deprecated, will be removedin1.13.Login Succeeded[root@kakarott wuzb]# docker push wap306183118/wuzb:latestThe push refers to a repository [docker.io/wap306183118/wuzb]7abbbc964853: Pushed56827159aa8b: Pushed440e02c3dcde: Pushed29660d0e5bb2: Pushed85782553e37a: Pushed745f5be9952c: Pushing [===============> ]39MB/130MB745f5be9952c: Preparing
第三章 Docker的镜像的更多相关文章
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- 《Docker 实战》第三章 Docker Hub 寻宝游戏
# 秘密仓库和密码 docker run --rm -it --name password dockerinaction/ch3_ex2_huntanswer
- docker(三)docker镜像和镜像发布方法
一.从公网docker hub 拉取image ~ # 搜索docker search centos~ » docker pull centos admin@steven- Using default ...
- 三、Docker镜像的相关操作
原文:三.Docker镜像的相关操作 一.查看本地镜像: docker images 二.使用某个镜像来运行容器: docker run -t -i xxxx(镜像名):xx.xx(版本,不带即最新) ...
- Docker学习(三)——Docker镜像使用
Docker镜像使用 当运行容器时,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从Docker Hub公共镜像源下载. 1.镜像使用 (1)列 ...
- 三、docker镜像管理
一.docker镜像管理 1.1.镜像搜索-search 从docker镜像仓库模糊搜索镜像 用法: docker search 镜像关键字 [root@zutuanxue ~]# docker se ...
- docker 拷贝镜像文件
1.概述 我们制作好镜像后,有时需要将镜像复制到另一台服务器使用. 能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网的,所 ...
- Docker 创建镜像、修改、上传镜像
Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...
- 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署
庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介 我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...
随机推荐
- 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码
最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...
- SVNManager配置
1.svn与apache的安装 yum install -y subversion httpd httpd.conf添加如下内容: LoadModule dav_svn_module module ...
- IO 模型
常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求soc ...
- dfs 无向图两节点间的所有路径
标题:风险度量 X星系的的防卫体系包含 n 个空间站.这 n 个空间站间有 m 条通信链路,构成通信网.两个空间站间可能直接通信,也可能通过其它空间站中转. 对于两个站点x和y (x != y), 如 ...
- 图解Javascript——变量对象和活动对象
span { line-height: 1.5 } 这是由一段代码引发的思考: var laterDeclaredVar = 'I am a global variable ...'; (functi ...
- Apache保持连接
HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接(TCP三次握手),在连接结束后要对TCP连接进行终止(TCP四次断开).建立与关闭连接对于HTTP协议而言会消耗很多的内 ...
- golang RWMutex读写锁分析
RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 数据结构设计: type RWMutex struct { w Mu ...
- 配置远程服务器,使hyper-v能够连接网络
一般远程服务器只有一个网卡和IP,如果你要在服务器上装虚拟机,那么要使虚拟机能够连接网络,必须要创建虚拟交换机. 如果创建虚拟交换机并桥接,那么就会改变IP地址,改变IP地址,就连接不上远程服务器.造 ...
- Dreamweaver如何开启代码错误提示,报错代码。
DW的代码错误即无效提示功能设置:在DW代码窗口左面有一列很小的功能按钮,在其中寻找"高亮显示无效代码",选中之后就可以看到无效的代码会被添加背景色,会让你容易辨识.改正后背景色会 ...
- IIS7 / IIS7.5 URL 重写 HTTP 重定向到 HTTPS
1.购买SSL证书,参考:http://www.cnblogs.com/yipu/p/3722135.html 2.IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL ...