1 镜像源查看及设置
- docker默认镜像源位于国外,下载速度较慢,建议修改配置文件daemon.json,若无则新建。
- 使用命令查看镜像源:
cat /etc/docker/daemon.json
,如果没有该文件或没有配置,则镜像源位于国外。
- 建议修改配置文件修改镜像源为国内,使用命令
vim /etc/docker/daemon.json
打开文件进行修改。 - 修改镜像源为中国区。
{
“registry-mirrors”:[“https://registry.docker-cn.com”]
}
或修改镜像源为网易云镜像,同理还有阿里源、清华源等。
{
“registry-mirrors”: [“http://hub-mirror.c.163.com”]
} - 完成后按
ESC
退出到命令模式,按:
键切换至末行模式,输入:wq
保存退出。 - 使用命令
systemctl restart docker.service
重启Docker。 - 使用命令
docker info
查看docker配置信息,可以看到已经配置好了镜像源。
2 镜像相关操作
2.1 获取镜像列表
- 获取镜像列表,同时也可以对所获取镜像列表进行过滤,以方便查看信息。命令格式如下:
docker search 镜像名
docker search 镜像名 --filter stars=100 - 示例演示:此处以查询mysql镜像为例:docker search mysql。
2.2 镜像下载
- 从官方仓库下载镜像到本地docker,命令格式如下:
- docker pull [OPTIONS] NAME[:TAG]
- OPTIONS说明:
- -a :拉取所有 tagged 镜像
- -disable-content-trust :忽略镜像的校验,默认开启
- NAME是镜像仓库名称(用来区分镜像)。
- TAG是镜像的标签(往往用来表示版本信息)。
- 通常情况下,描述一个镜像需要包括“名称+标签”信息。如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。
- 严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry,注册服务器)作为前缀,只是默认使用的是官方Docker Hub服务,所以该前缀可以忽略。
例如从网易蜂巢的镜像源来下载ubuntu:18.04镜像,可以使用如下命令。- hub.c.163.com/public/ubuntu:18.04 #下载的镜像名称
- docker pull hub.c.163.com/public/ubuntu:18.04 #拉取语句为
- 本教程以从官网获取mysql为例,输入命令:
docker pull mysql
。该命令未指定tag则默认为latest,箭头所指为上述列表中的第一个。
2.3 查看本地的镜像
- 使用命令
docker image ls
列出本地镜像列表信息。可以看到刚刚下载的镜像文件及主要信息,如tag、文件大小等。
- 更多“docker image +参数”的使用方式可以输入命令
docker image -help
获取详细帮助。
2.4 从镜像创建容器
- 使用命令以下载好的镜像为模板创建容器。命令格式如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG…],其中IMAGE为镜像名,主要参数解释如下,详细参数可以查看《菜鸟教程》的相关解释。- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -t::为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- –name=“MySQL”: 为容器指定一个名称;
- 本节内容以上述mysql为例,使用命令创建容器:
docker run -i -t docker.io/mysql /bin/bash
,如下图箭头所指即为新创建的容器。
- 查看运行中的容器。在上一步的基础上,新打开一个终端窗口,输入命令:
docker ps
,查看电脑中运行的容器列表及主要信息。如果在命令后加上参数-a
,则可以查看运行与暂停的所有容器列表。
- 在容器运行窗口,输入命令
exit
退出容器,同时在另一窗口再次使用docker ps
查看容器列表信息。可以看到容器运行窗口命令行头部信息回到了主机,同时可以看到已经没有在运行的容器了。
2.5 将容器抽象为镜像——commit
- 当我们对从网上下载的镜像进行修改后,为方便以后重复使用,可以将该容器创建为新的镜像文件。使用命令格式如下:
- docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
- -a:提交的镜像作者;
- -c:使用Dockerfile指令来创建镜像;
- -m:提交时的说明文字;
- -p:在commit时,将容器暂停。
- [REPOSITORY[:TAG]]:是仓库名和tag信息。
- 例子:将上述运行中的容器提炼创建为镜像,可以根据命令行头部的信息或者查询运行容器信息,来得知容器的ID为403d957784e3。使用命令
docker commit -m 'my mysql test' -a 'Fighting_hawk' 403d957784e3 my/registry:V2
创建镜像,并指定仓库名和版本信息。
- 查询本地镜像列表,可以看到新建的镜像就在其中。
2.6 将容器抽象为镜像——Dockerfile
该方法比commit方法要复杂得多,但是有利于团队之间共享。以后有时间再学~~
2.7 将镜像保存为压缩包
为方便将镜像文件发送该他人进行安装,需要将镜像存为压缩包的格式,使用命令格式如下:docker save -o 压缩包名+后缀 镜像仓库名及版本号
2.8 将压缩包加载为镜像
使用命令将压缩包加载为镜像:docker load --input 压缩包名+后缀
文章来源:https://www.toymoban.com/news/detail-446361.html
2.9 镜像删除
当本地镜像列表中有的镜像已不再需要时,需要通过命令将其删除,如:docker fmi -f 镜像ID
。文章来源地址https://www.toymoban.com/news/detail-446361.html
3 总结
- 了解镜像源的设置;
- 掌握镜像查询与下载的方法;
- 理解镜像与容器之间的关系、掌握镜像与容器互转的方法;
- 掌握镜像与压缩包互转的方法。
4 参考文献
- 《查看与修改docker镜像源命令 cat | vim /etc/docker/daemon.json》
- 《使用pull命令从Docker Hub仓库中下载镜像到本地》
到了这里,关于【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!