一:拉取镜像
1、国内连接docker官网很慢修改docker中配置,添加对应中国docker加速器。
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
2、运行以下命令(本处以hello-world为例),将image文件从仓库拉去到本地。
docker pull library/hello-world
其中拉去命令为docker pull。hello-world为image为名称,library为hello-world镜像所在组。
执行完成后执行docker images可以查询。
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB
ubuntu 15.10 9b9cb95443b5 2 years ago 137MB
3、运行拉去成功的image,docker run XXX
docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
hello-world运行完成后会自动关闭,类似myssql这样的服务类image运行后不会自动关闭。可以执行docker stop imageName停止。
二、查看iamge位置
镜像位置
此处有坑: 以下操作必须在 root 用户权限下进行!!!(如有不知如何进行切换的童鞋,请先翻到最后面~)
进入docker 目录
cd /var/lib/docker
1.文件结构如下:
2. 进入containers 目录
这个目录中保存是已拉取的容器ID,即一个序列号,对应一个容器。
随便进入选择一个序列号,进入后发现容器的具体结构如下:
3. 进入image 目录
这个目录中保存的是已拉取的镜像的信息。在下图中可以看到images目录下有个overlay2目录,该目录下中repositories.json 文件详细记录了拉取的镜像的详细信息:有 镜像名、镜像ID等。(注: 比较老的docker版本下可能没有 overlay2 目录,而是 aufs 目录,在 aufs 目录中同样有形同的目录及文件)
作为对比,下面直接使用 docker命令展示镜像信息:
docker image ls
可以看到上面 repositories.json 文件中记录的就是已拉取的镜像信息。