Docker技术知识:Docker容器镜像的常用操作
1.获取镜像
命令:
docker pull //:
比如:sudo docker pull centos
说明:
镜像是Docker运行容器的前提。
用户可以使用docker pull 命令从网络上下载镜像。对于镜像来说,如果不显式地指定tag,则默认会选择latest标签,即下载仓库中最新版本的镜像。
默认是从docker官方下载的。只有docker官方的可以不需要增加命名空间直接进行下载。
2.查看镜像列表
命令:
docker images
说明:
使用docker images命令可以列出本地主机上已有的镜像。
信息含义:来自于哪个仓库、镜像的标签信息、镜像的ID号(唯一)、创建时间、镜像大小。
3.查看镜像信息
命令:
docker inspect
说明:
docker inspect命令返回的是一个JSON的格式消息,如果我们只要其中的一项内容时,可以通过-f参数来指定。Image_id通常可以使用该镜像ID的前若干个字符组成的可区分字符串来替代完成的ID。
sudo docker inspect -f {{.DockerVersion}} image_id
# DockerVersion前面有一个点号,查询指定的内容
4.查找镜像
命令:
docker search
说明:
使用docker search命令可以搜索远端仓库中共享的镜像,默认搜索Docker hub官方仓库中的镜像。
5.删除镜像
命令:
docker rmi :
说明:
使用docker rmi命令可以删除镜像,其中image可以为标签或ID。
注意:
当同一个镜像拥有多个标签,docker rmi只是删除该镜像多个标签中的指定标签而已,而不影响镜像文件。
当有该镜像创建的容器存在时,镜像文件默认是无法被删除的。
如果一个镜像就有一个tag的话,删除tag就删除了镜像的本身。
如果镜像里面有容器正在运行,删除镜像的话,会提示error,系统默认是不允许删除的,如果强制删除需要加入-f操作,但是docker是不建议这么操作的,因为你删除了镜像其实容器并未删除,直接导致容器找不到镜像,这样会比较混乱。
一个镜像做一个tag:sudo docker tag image_id image:tag
执行删除tag操作:sudo docker rmi image:tag
运行一个镜像里面的容器:$ sudo docker run centos echo 'Docker hahaha'
查看运行中的容器:sudo docker ps -a
6.创建镜像
命令:
docker commit
参数说明:
-a , --author : 作者信息
-m , --meassage : 提交消息
-p , --pause=true : 提交时暂停容器运行
说明:
基于已有的镜像的容器的创建。
例子:以centos为例子创建
运行centos,-ti把容器内标准绑定到终端并运行bash,这样开跟传统的linux操作系统没什么两样,现在我们直接在容器内运行。这个内部系统都是极简的只保留我们的一些系统的运行参数,里面很多vi命令可能都是没有的。
$ sudo docker run -ti centos
[root@158183a8ae93 /]# echo '1111' > 1.txt
[root@158183a8ae93 /]# exit
退出容器exit。
容器创建成镜像的方法:
通过某个容器d1d6706627f1 创建对应的镜像,有点类似git。注意,是根据容器ID创建的,可以使用docker pa -a事先查看容器ID
命令:docker commit -a 'author' -m 'message' container_id image_name
sudo docker commit -a 'Sandu' -m 'create a docker version' 158183a8ae93 centos11/test
7.迁出镜像
命令:
docker save -o .tar :
参数说明:
-o:设置存储压缩后的文件名称
说明:
可以使用docker save命令来迁出镜像,其中image可以为标签或ID。
8.载入镜像
命令:
docker load --input .tar `
说明:
使用docker load命令可以载入镜像,其中image可以为标签或ID。这将导入镜像及相关的元数据信息(包括标签等),可以使用docker images命令进行查看。可以先删除之前的镜像然后再导入,或者在一台新机器上部署docker环境后再导入
默认载入的镜像没有镜像名称和tag,使用下面的命令创建:sudo docker tag image_id image_name,tag自动为latest
9.上传镜像
命令:
docker push //:
说明:
可以使用docker push命令上传镜像到仓库,默认上传到DockerHub官方仓库(需要登录)。
# 登陆到docker官网
$ sudo docker login
# 输入账号密码,提示:Login Succeeded
# 然后开始上传镜像,注意:image_name的/前部分名称要与官网注册的名称一致,否则提示:denied: requested access to the resource is denied
# 可以使用tag方式复制一份镜像并重命名的方式来上传镜像
# sudo docker tag image_id xxxx/iamge_name # xxxx要与在官网上注册的Docker ID保持一致
$ sudo docker push image_name

教程库站长:庄宇光 QQ:1881294
投诉及建议电话: 18559313275
网站ICP备案号: 闽ICP备19015982号-4 公安网备案号:闽公网安备35060202000406号
文章投稿及版权申诉联系邮箱 1: vip@jiaochengku.com 联系邮箱 2: vip@ufo.work