02.Docker常用命令
一、镜像常用命令
1.列出本地镜像(docker images)
docker images
| REPOSITORY | TAG | IMAGE | CREATED | SIZE | 
| 表示镜像仓库的源 | 镜像标签 | 镜像ID | 镜像创建时间 | 镜像大小 | 
参数:
|  -a |  列出本地所有镜像(含中间镜像层) | 
| -q |  只显示镜像ID | 
| --digests |  显示镜像的摘要信息 | 
| --no-trunc |  显示完整的镜像信息 | 

2.搜索镜像(docker search 名称)

docker search tomcat
| NAME | DESCRIPTION | STARS | OFFICIAL | AUTOMATED | 
| 名字 | 介绍 | 点赞数 | 官方版 | 自动构建版 | 
3.拉取镜像(docker pull 名称:版本)

docker pull tomcat(不写版本默认为最新版:latest)
4.删除镜像(docker rmi 名字:版本)(docker rmi 镜像ID)
删除一个
docker rmi hello-world:latest-f:强制删除

删除多个
docker rmi -f nginx:latest hello-world:latest
全部删除
docker rmi -f $(docker images -qa)
5.列出镜像变更历史(docker history 镜像名:镜像标签 | 镜像id)
docker history luoruiyuan/tomcat:9.0.41
6.推送镜像
登陆阿里云创建命名空间

创建一个测试仓库,查看提交命令



根据命令提交一个



提交成功我们拉取一下



7.镜像保存本地和加载
docker save [OPTIONS] IMAGE [IMAGE...]
说明: -o :输出到的文件。 
docker save -o my_nginx.tar nginx:latest8.本地加载镜像
docker load [OPTIONS] OPTIONS 
说明: input , -i : 指定导入的文件,代替 STDIN。 
quiet , -q : 精简输出信息。 
docker load input my_nginx.tar二、容器常用命令
1.启动命令(docker run 镜像名:版本)
docker run [参数] 镜像名:Tag [自定义给运行命令]
如:
docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash
参数
|  --name |  "容器新名字"为容器指定一个名称 | 
| -d |  后台运行容器,并返回容器ID,也即启动守护式容器 | 
| -i |  以交互模式运行容器,通常与-t同时使用 | 
| -t |  为容器重新分配一个伪输入终端,通常与-i同时使用 | 
| -P |  随机端口映射 | 
| -p |  指定端口映射,有以下四种格式(hostPort:主机   containerPost:容器) | 
|  ip:hostPort:containerPort | |
| ip::containerPort | |
| hostPort:containerPort | |
| containerPort | 
交互式启动(注:以交互式启动并生成一个终端)
docker run -it centos:latest 
守护式启动
docker run -d centos
给tomcat指定端口(注:启动后可以按ctrl+P+Q退出不停止容器)
docker run -it -p 8899:8080 --name mytomcat8.5 tomcat:8.5.61-jdk15-openjdk-oraclelinux7 
也可以后台启动也就是守护式启动(这样就不会输出日志了)
docker run -d -p 8899:8080 --name mytomcat8.5 tomcat:8.5.61-jdk15-openjdk-oraclelinux7 
注:使用aliyun镜像加速下载的tomcat,需要把“webapps.dist”修改为“webapps”,不然404

2.查看容器(docker ps)
参数
|  -a |  列出当前所有正在运行的容器+历史上运行过的 | 
| -l |  显示最近创建的容器 | 
| -n |  显示最近n个创建的容器 | 
| -q |  静默模式,只显示容器编号 | 
| --no-trunc |  不截断输出 | 

3.退出容器
|  exit |  容器停止退出 | 
|  ctrl+P+Q 或者 ctrl+d |  容器不停止退出(快捷键) | 
4.启动容器(docker start 容器id)(docker start 容器名字)
docker start a54f645ec2de

5.重启容器(docker restart 容器id|容器名字)
docker restart a54f645ec2de6.停止容器(docker stop 容器id|容器名字)
docker stop a54f645ec2de7.强制停止容器(docker kill 容器id|容器名)
docker kill a54f645ec2de8.删除已停止的容器(docker rm 容器id)
参数
|  -f |  强制删除 | 
删除一个
docker rm 39315d2c11e4
删除多个
docker rm 容器id1 容器id2全部删除
docker rm -f $(docker ps -a -q)9.查看日志(docker logs 容器id)
参数
|  -f |  加入时间戳 | 
| -t |  跟随最新的日志打印 | 
| -n |  显示最后几条 | 
docker logs -ftn 3 fdf77ca8aaeb
10.查看容器内运行的进程(docker top 容器id)
docker top fdf77ca8aaeb

11.查看容器内部细节(docker inspect 容器id)
docker inspect fdf77ca8aaeb
12.进入正在运行的容器并以命令行进行交互
两种方式
|  attach |  直接进入容器启动终端,不会启动新的进程 | 
| exec |  是在容器中打开新的终端,并且可以启动新的进程 | 
 docker attach quirky_goldberg
docker exec -it quirky_goldberg /bin/bash
使用root进入容器
docker exec --privileged -u root -it liferayTomcat /bin/bash注:exec 执行其他命令时可以直接返回结果,执行/bin/bash跟attach一样进入到终端
13.拷贝(docker cp 容器id:容器内路径 主机路径)
容器复制到主机
docker cp fdf77ca8aaeb:/home/cptest.txt /home
主机复制到容器
docker cp cplry.txt fdf77ca8aaeb:/home/

14.创建镜像(docker commit -m="描述" -a="作者" 容器id 要创建的镜像名:标签名 )
docker commit -a="luoruiyuan" -m="repair 404" mytomcat luoruiyuan/tomcat:9.0.41
赞(1)
赏