0.docker stats:查看CPU状态
[root@hc ~]# docker stats 容器id
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ab35651b7ae3 myNginx 0.00% 7.781MiB / 3.493GiB 0.22% 3.94kB / 3.54kB 11MB / 8.19kB 4
1.查看docker帮助命令:
docker version 查看docker版本
docker info 查看docker信息
docker help docker帮助命令
2.docker 项目操作的常用命令
https://docs.docker.com/reference/ 官网命令文档
安装部署好Dokcer后,执行的命令是docker开头
总的来说分为以下几种:
docker [run|start|stop|restart|kill|rm|pause|unpause] #容器生命周期管理
docker [ps|inspect|top|attach|events|logs|wait|export|port] #容器操作运维
docker [commit|cp|diff] #容器rootfs命令
docker [login|pull|push|search] #镜像仓库
docker [images|rmi|tag|build|history|save|import] #本地镜像管理
一:镜像的命令
1.search
docker search 用来搜索可用的相关镜像。
eg:从docker仓库中搜索mysql镜像:
docker search mysql
[root@hc /]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10846 [OK]
mariadb MariaDB Server is a high performing open sou… 4091 [OK]
2.pull
docker pull 下载指定镜像。
docker pull image_name
docker pull image_name:tag
#image_name:表示镜像的仓库源名称,TAG:镜像的标签 如果不指定tag 那么默认用最新的
eg:从docker仓库中下载mysql镜像:(docker pull 时可以指定镜像标签,不指定默认为latest。)
[root@hc /]# docker pull mysql
Using default tag: latest #不添加tag就是拉取最新版
latest: Pulling from library/mysql
f7ec5a41d630: Pull complete #分层下载,联合文件系统
9444bb562699: Pull complete
6a4207b96940: Pull complete
181cefd361ce: Pull complete
8a2090759d8a: Pull complete
15f235e0d7ee: Pull complete
d870539cd9db: Pull complete
493aaa84617a: Pull complete
bfc0e534fc78: Pull complete
fae20d253f9d: Pull complete
9350664305b3: Pull complete
e47da95a5aab: Pull complete
Digest: sha256:04ee7141256e83797ea4a84a4d31b1f1bc10111c8d1bc1879d52729ccd19e20a #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
注:
docker pull mysql
等价于 docker pull docker.io/library/mysql:latest
2.1 删除镜像
docker rmi 镜像名称/镜像ID
docker rmi -f 镜像名称/镜像ID
docker rmi -f ${docker images -aq} 删除所有镜像
#强制删除 如果镜像有容器在运行 那么就需要强制删除 增加 -f 参数
3.images
docker images 查看已下载的本地docker镜像。
docker images
查看中间层镜像:
docker images -a
如果不同镜像之间有复用的中间层,这里就会看见一些没有镜像名和标签的镜像,
很多镜像依赖这些中间层,所以中间层镜像是不能随意删除的。
二:容器的命令
说明:有了镜像 才有容器(有了类 才有类的实例)
4.run
docker run 启动docker镜像为容器。
docker run #首先会从本地找镜像,如果有则直接启动,没有的话,从镜像仓库拉起,再启动)
docker run -d --name "xiaoxiao" -p 5672:5672 -p 15672:15672 rabbitmq:management
#-d 后台运行
#-p 端口映射 (可以有多个 因为该镜像可能存在多个端口) 主机端口:容器端口
#-P 随机指定端口
#rabbitmq:management (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
#--name 给该容器取个名字
#-it 使用交互方式运行,进入容器查看内容
docker run 有一些参数选项:
-i:interactive交互
-t:tty终端
-d:daemon后台启动
-p:端口映射,前面的端口为宿主机监听端口,后面的端口为容器监听端口
–name:指定启动后容器的名字
–rm:退出容器后删除容器
#使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口
,主机的目录/data映射到容器的/data。
docker run -p 80:80 -v /data:/data -d nginx:latest
我们就用Tomcat镜像来启动一个容器
docker pull tomcat
docker run -it --name webdemo -p 80:8080 tomcat /bin/bash
5.ps
docker ps 查看当前正在运行中的容器。
docker ps
参数:
-a:查看当前系统中所有的容器,包括运行中、暂停中和已停止的容器
docker ps -a
6.容器退出
exit 容器 停止,退出
ctrl+p+q 仅退出容器
7.检查容器内部元数据信息
docker inspect 容器名称/容器id
8.移除某个容器
docker rm 容器名称/容器id (容器必须是停止状态)
docker rm -f 容器名称/容器id
docker rm -f ${docker ps -aq) 删除所有容器
docker ps -a -q |xargs docker rm 删除所有容器
9.强制停止 启动(杀掉一个运行中的容器。)
docker |start|stop|restart|kill| 容器ID/容器名称
启动容器、强制停止容器、重启容器、杀掉运行的容器
10.进入容器内部
sudo docker ps
语法:
docker exec -it 容器ID/容器名称 /bin/bash #进入容器后,开启一个新的终端,可以在里面操作
或
docker attach 容器ID/容器名称 #进入正在执行的容器,不会开启终端
-it 交互的形式执行
eg:
sudo docker exec -it 775c7c9ee1e1 /bin/bash
docker exec -it 54541318c571 /bin/bash
#退出
exit
11.导入、导出镜像
docker save nginx >/tmp/nginx.tar.gz
docker load </tmp/nginx.tar.gz
docker save 镜像名:tag -o xxx.jar
docker load -i 镜像.tar
12查看日志 docker logs
docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
--tail :仅列出最新N条容器日志
#加入时间戳,且实时展示log
docker logs -ft 容器id|容器名
#展示log最后5行
docker logs --tail 5 容器id|容器名
例子:
查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID/容器名
查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID
查看某时间之后的日志:
docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志:
$docker logs -t --since="2021-02-08T13:23:37" --until "2021-02-09T12:23:37" CONTAINER_Id
docker logs -f mynginx
sudo docker logs -f -t --tail 100 容器名称或容器ID号
查看最近30分钟的日志
docker logs --since 30m 970dc67458f6
查看某时间之后的日志:
docker logs -t --since="2020-03-08T13:23:37" 970dc67458f6
sudo docker ps
sudo docker logs -f --tail 1000 86aea07bf1ff^C backend_api
13.复制文件
由于容器的空间相对隔离,改变容器中的文件就变得不是那么容易。使用以下命令可以进行文件交换;
从主机复制到容器
sudo docker cp host_path containerID:container_path
从容器复制到主机
sudo docker cp containerID:container_path(容器中的文件路径) host_path(操作系统中的路径)
14.查看容器内部的进程信息
docker top 容器id|容器名
docker build
docker run
docker commit
docker tag
提交容器为一个新的副本镜像
docker commit -m "提交的备注" -a="镜像作者" 容器id 目标镜像名:[tag]
三:快速删除所有容器/镜像
停用全部运行中的容器:
docker stop $(docker ps -q)
删除全部容器:
docker rm $(docker ps -aq)
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
删除所有镜像
docker rmi `docker images -q`
通过jar包导入镜像
docker load -i 镜像.jar
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/65796.html