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:latest
8.本地加载镜像
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 a54f645ec2de
6.停止容器(docker stop 容器id|容器名字)
docker stop a54f645ec2de
7.强制停止容器(docker kill 容器id|容器名)
docker kill a54f645ec2de
8.删除已停止的容器(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)
赏