docker search 镜像名 (搜索镜像)
docker pull 镜像:版本号 (获取固定版本镜像)
docker pull 镜像名 (不加版本号默认为获取最新版本)
docker info #查看docker全部信息 还可以统计哪些容器是running、停止的数量
docker version #查看docker版本
docker images [仓库名称] [:标签]
例:
[root@xjj opt]# docker images #查看仓库中所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx1 nginx ea335eea17ab 7 days ago 141MB
nginx latest ea335eea17ab 7 days ago 141MB
hello-world latest feb5d9fea6a5 2 months ago 13.3kB
centos 7 eeb6ee3f44bd 2 months ago 204MB
docker images -q #只查看镜像的ID
[root@xjj ~]# docker images -q
ea335eea17ab
ea335eea17ab
docker inspect [镜像:版本号]
docker inspect [镜像ID号]
例:[root@xjj ~]# docker inspect nginx:1.9.6
[root@xjj ~]# docker inspecte a335eea17ab
'命令格式:'
docker tag 名称:[标签] 新名称:[新标签]
'例:'
[root@xjj docker]# docker tag nginx:latest nginx:nginx2
[root@xjj docker]# docker images | grep nginx
nginx1 nginx ea335eea17ab 7 days ago 141MB
nginx latest ea335eea17ab 7 days ago 141MB
nginx nginx2 ea335eea17ab 7 days ago 141MB
nginx 1.9.6 a9f920c44e20 6 years ago 133MB
REPOSITORY | 镜像属于的仓库 |
---|---|
TAG | 镜像的标签信息,标记了同一个仓库中的不同镜像 |
IMAGE ID | 镜像的唯一 ID 号,是镜像的唯一标识 |
CREATED | 镜像的创建时间 |
SIZE | 镜像的大小 |
①REPOSITORY:TAG
例如
[root@lucien~]# docker image
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7.4.1708 9f266d35e02c 2 years ago 197MB
centos的唯一表示即为:centos:7.4.1708
②IMAGE ID(sha256:64位的号码,默认只截取12位)
docker image ls --no-trunc
查看详细的 image id 号
[root@xjj ~]# docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest sha256:ea335eea17ab984571cd4a3bcf90a0413773b559c75ef4cda07d0ce952b00291 7 days ago 141MB
如果你需要进行镜像迁移,需要先将镜像保存至本地文件,之后可以拷贝该文件至其他主机
这一过程称之为存出镜像,使用【docker save】命令操作
'命令格式:'
docker save -o [存储文件名] [存储镜像]
'例:'
docker save -o nginx_1 nginx:latest
ll nginx
[root@xjj opt]# ll nginx_1
-rw-------. 1 root root 145917440 11月 25 17:12 nginx_1
scp nginx root@192.168.126.16:nginx
'#传至另一台主机'
如果需要将存出的镜像从主机 A 迁移至主机 B 上使用,可以将该导出文件导入到主机 B 的镜像库中
这一过程称之为载入镜像,使用【docker load】进行载入操作
'命令格式:'
docker load < [存出文件]
'例:'
docker load < nginx_1
docker images|grep nginx
把镜像导出到系统中
docker image save 9f266d35e02c > /opt/centos_7.4.1708.tar.gz
把已经导出到系统的镜像导入到容器中
docker image load -i /opt/centos_7.4.1708.tar.gz
删除镜像的方法有两种:使用镜像的标签或 ID
'命令格式:'
docker rmi [仓库名称][:标签]
或
docker rmi [镜像ID号]
'例:'
docker images|grep nginx
docker rmi nginx1:nginx
'#当一个镜像有多个标签时,该命令只会删除多少标签中的这个指定标签,而不会影响镜像文件'
'#若该镜像只有一个标签就要注意了,再使用该命令会直接彻底删除该镜像!'
docker rmi 97788821c58b
'#选择参数为镜像ID号时要谨慎,必须首先确保该镜像当前没有被容器使用'
'#如果该镜像已被容器使用,则需先删除所以依赖该镜像的容器,再删除该镜像'
'#删除时系统会先删除指向该镜像的所有标签,然后删除镜像本身'
docker images|grep nginx
#批量删除:
docker rmi `docker images -q` #删除所有镜像
docker rmi `docker images -q | grep nginx` #删除所有Nginx的镜像
容器的创建就是将镜像加载到容器的过程:
#查询容器
docker ps -a
'#可以使用该命令查看索引容器的运行状态'
'#“-a”选项表示列出系统最近一次启动的容器'
#创建容器
docker create [选项] [镜像] [运行的程序]
docker create -it nginx:latest /bin/bash #创建新容器后,会返回一个唯一的ID
-i 让容器的标准输入保持打开(让一个可以交互可以进入的接口)
-t 分配一个伪终端
-d 后台守护进程的方式运行
#启动容器(停止状态下的容器)
docker start [容器的ID/名称]
#停止容器
docker stop 容器ID
如果想直接创建并使用容器,可以使用【docker run】命令,等同于先执行【docker create】,再执行【docker start】
需要注意的是,执行该命令,只要后面的命运行结束,容器就会停止
使用【docker run】命令创建容器时,Docker 在后台的标准运行过程:
'例:创建容器并启动执行一条shell命令'(一次性执行)
docker run centos:7 /usr/bin/bash -c ls /
--
docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello world;done"(持续后台运行)
'#可以添加“-d”选项,可以让docker以守护进程形式在后台运行,即可以在后台持续运行该容器'
'#注:该容器所运行的程序一旦结束,容器也就会被终止'
docker ps -a
1.使用run
docker run -it nginx:latest /bin/bash
2.exec(容器必须为开启状态)
'命令格式:'
docker exec -it [容器ID/名称] /bin/bash
'例:'
docker exec -it 4aa9da25318d /bin/bash
'#用户可以通过所创建的终端来输入命令'
exec 和 shell 是两种运行模式
PS:
docker run-it 会创建前台进程,但是会在输入exit后终止进程
docker attach 会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程
docker exec -it 会连接到容器,可以像SSH一样进入 容器内部,进行操作,可以通过exit退出容器,不影响容器运行
用户可以将任何一个 Docker 从一台主机迁移至任意一台主机:
1.容器导出
docker export [容器ID/名称] >文件名
'例:'
docker export 4aa9da25318d >nginx_1
ls -l nginx_1
--
scp nginx_1 root@192.168.126.16:nginx_1
2.容器导入(生成镜像)
docker import 导出的文件名(容器) 指定镜像名称
示例:
docker import nginx_1 nginx:latest
cat [文件名](容器) |docker import - [生成的镜像名称][:标签]
'例:'
ll nginx_1
cat nginx_1 |docker import - nginx_1:xjj
'#导入文件nginx_1成为本地镜像'
--
docker images |grep nginx
#删除容器
docker rm [容器ID/名称]
'例:'
docker rm docker rm fcd5691107cf a17b5d224f47 cf7eb18ebf28 fb95ffa44044 2ee2c9d515b3 e88f1ded4cd
#强制删除容器(正在运行的up状态)
docker rm -f 容器ID
#批删除非up状态的rm -f : 强制删除所有
docker rm `docker ps -qa`
#批量删除容器(正则匹配)
docker ps -a | awk ' {print "docker rm "$1}' | bash
#批量删除"exit"状态( 指定状态)的容器
for i in `docker ps-a|grep -i exit | awk '{print $1}'`; do docker rm-f $i;done
docker优化:有效减少镜像大小
overlay2由4部分组成 :LowerDir MergedDir UpperDir WorkDir
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_53560205/article/details/121544714
内容来源于网络,如有侵权,请联系作者删除!