1、镜像
① 获取Ubuntu镜像
sudo docker pull ubuntu
该命令实际上下载的就是ubuntu:latest镜像。
下载镜像到本地后,即可随时使用该镜像了,例如利用该镜像创建一个容器,在其中运行bash应用。输入exit
退出。
② 查看镜像信息
sudo docker images
REPOSITORY表示来自哪个仓库,比如ubuntu。IMAGE ID 信息十分重要,它唯一标识了镜像。
③ 搜寻镜像
sudo docker search
例如,搜索带mysql关键字的镜像:
④ 删除镜像
sudo docker rmi IMAGE [IMAGE…]
IMAGE可以为标签或ID。可以看到,后台有一个容器在运行,无法删除。先删除依赖该镜像的所有容器,再来删除镜像。首先使用sudo docker rm f3b删除容器,再使用ID来删除镜像。
⑤ 创建镜像
创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dcokerfile创建
。
基于已有镜像的容器创建
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
主要选项包括:
- -a, --author="" 作者信息
- -m, --message="" 提交信息。
- -p, --pause=true 提交时暂停容器运行
首先启动一个镜像,并在其中进行修改操作,例如创建一个test文件,之后退出:
sudo docker run -ti ubuntu:latest /bin/bash
root@3b5ba2ddda9b:/# touch test
root@3b5ba2ddda9b:/# exit
记住该容器ID为3b5ba2ddda9b
。
此时该容器跟原ubuntu:latest 镜像相比,已经发生了改变,可以使用docker commit 命令来提交为一个新的镜像。提交时可以使用ID或名称来指定容器:
可以看见命令返回了新创建的镜像的ID信息,例如:
此时查看本地镜像列表,即可看到新创建的镜像:
⑥ 存出和载入镜像
存出镜像
sudo docker save
例如,存出本地的ubuntu:latest镜像为文件ubuntu_latest.tar:
打开文件夹,发现已经存出了。
载入镜像
sudo docker load
⑦ 上传镜像
sudo docker login 登录
例如:用户nicoletang上传本地test:latest 镜像,可以先添加新的标签nicoletang/test2:latest,然后用docker push 命令上传镜像:
登录https://hub.docker.com/发现已经上传成功!
2、本章小结
本章围绕了Docker镜像的一系列重要命令操作,包括获取、查看、搜索、删除、创建等。镜像是使用Docker的前提,也是最重要的资源。所以,在平时的Docker使用中,要多注意积累定制的镜像文件。