2 docker镜像
3. Docker的镜像
3.1 镜像管理常用命令
列出镜像docker images
列出正则匹配的镜像docker images ce*
images只会列出镜像的基本信息,
常用参数:
-a 列出本地所有镜像
-q 只显示镜像ID
--digests 显示镜像的摘要信息
#########
查看镜像详细信息inspect命令docker inspect [name]/[container id]
#########
搜索镜像dockersearch [name]
常用参数:-s 指定收藏数不少于指定值的镜像
########
拉取镜像docker pull [name]
########
删除镜像docker rmi [name]/[contaniner id]
常用命令有:
删除多个 docker rmi -f 镜像名1:tag 镜像名2:tag
删除全部 docker rmi -f ${docker images -qa}
Repository: 镜像所在仓库名称
Tag: 镜像的版本
IMAGE ID: 镜像ID
CREATE: 镜像创建事件
SIZE: 镜像大小
3.2 构建自己的镜像
构建自己的镜像我们可以通过手动来做, 也可以通过dockfile来做, dockfile的方式我们在后面会单独介绍.
3.2.1 运行容器
docker run -it centos:7
docker run: 启动容器
-it: 以交互模式进入容器中
3.2.2 自定义安装软件
自己安装自己所需要的软件:
示例:
yum install -y vim
3.2.3 保存自己的镜像
重新打开一个窗口:
# 查看docker容器运行的进程
docker ps
docker commit 29ebec590397 centos_with_vim
# 或者, romantic_swanson 是系统随机给起的名字
docker commit romantic_swanson centos_with_vim
这样我们就会生成一个新的镜像,用docker images去查看即可,然后我们用新的镜像去重新启动一个容器,
容器里面默认就会安装vim命令了
3.3 镜像迁移
3.3.1 导出镜像
docker save repository:tag/imageId > /root/xx.tar.gz
3.3.2 导入镜像
docker load < /root/xx.tar.gz
3.3.3 通过CONTAINER ID导入导出
下面e13c085ecbdf 是通过docker ps 查看的CONTAINER ID
docker export -o myexportcontainer1.tar e13c085ecbdf
或者使用
docker import myexportcontainer1.tar mycentos_imported
3.4 删除镜像
删除一个镜像
docker rmi image_name或者image_id
批量删除镜像
docker rmi -f `docker images 镜像名字 -q`
按条件删除
docker rmi `docker images | grep xxxxx | awk '{print $3}'`