镜像管理

Posted tz90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了镜像管理相关的知识,希望对你有一定的参考价值。

一、什么是镜像

技术图片


二、搜索镜像的两种方式

2.1 网页搜索

技术图片

2.2命令搜索

#以mysql镜像为例
docker search mysql

技术图片

三、使用国内源命令

由于国外源下载慢,使用国内源加速。

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh-s http://04be47cf.m.daocloud.io

国内源参考链接

https://www.cnblogs.com/happy4java/p/11206839.html


四、镜像管理命令

PS:ubuntu在云计算领域使用率比较高,我们以ubuntu镜像为例,镜像都是只读的。

4.1 pull

#下载乌班图镜像
docker pull ubuntu

4.2 push

提交镜像到私有仓库或docke hub上
docker push mysql

4.3 run -itd --name

#创建一个容器名字为test01使用ubuntu镜像
docker run -itd --name test01 ubuntu 

4.4 ps

#查看运行的容器,会出现一串进程ID
docker ps

4.5 attach

#进入容器,相当于进入了ubuntu
docker attach test01

4.6 退出容器

ctrl+p+q

4.7 start/stop/rm

#开启容器/停止容器/删除容器
docker start/stop/rm test01

4.8 exec

#执行命令到容器里
docker exec test01 ls /home

4.9 help

#查看镜像帮助
docker --help

4.10 --help | grep

#查看有关于镜像的命令
docker --help |grep image
#搜索镜像
docker search mysql

4.12 images

#查看本地镜像
docker images

4.13 commit

#将你更改后的镜像提交为一个新的镜像,self为标签名
docker commit test01 ubuntu:self 

4.14 rmi

#删除一个镜像,删除前需要停止容器
docker rmi ubuntu

4.15 export

#将容器导出为一个tar包,du -sh 查看大小
docker export test01 > test01.tar 或者
docker save test01 > test01.tar

4.16 import

#将tar包导入为一个镜像
docker import test01.tar ubuntu:self 或者
docker load -i test01.tar


PS:
export导出只包括读写层信息,不包括只读层镜像
save包括读写层信息跟镜像,load后还是之前save的镜像名
在容器中修改文件数据等都不会直接对镜像修改,只是读取镜像到一个可写层中,在可写层中修改,如果需要保存,只能使用commit生成为另外一个镜像


技术图片

五、常见问题

5.1 No command specified错误

如果出现No command specified错误,需要指定解释器

技术图片




以上是关于镜像管理的主要内容,如果未能解决你的问题,请参考以下文章

如何管理在每个 git 版本中添加私有代码片段?

如何使用Android片段管理器传递变量[重复]

Android:使用支持片段管理器时复制片段

YASnippet - emacs 的代码片段管理工具

片段管理访问错误可见 return false

#VSCode保存插件配置并使用 gist 管理代码片段