Docker常用命令备忘录
Docker常用命令备忘录
0x01 镜像命令
列出本地主机上的镜像名
dokcer images
从dockerhub上搜索镜像
dokcer search 镜像名
下载镜像
docker pull 镜像名
删除镜像
docker rmi 镜像名ID
0x02 容器命令
有镜像才能创建容器
新建并启动容器
docker run [OPTIONS] IMAGE [Command] 参数
[OPTIONS]说明:
--name=“容器名”:为容器指定一个名称;
-d:后台运行容器。并返回容器ID(即启动守护式容器);
-i:以交互模式运行容器
-t:为容器重新分配一个伪输入终端
-P:随机端口映射
-p:指定端口映射,有四种格式 [ip:hostPort:containerPort; ip::containerPort; hostPort:containerPort; containerPort]
列出当前所有正在运行的容器
docker ps [OPTIONS]
[OPTIONS]说明:
-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
--no-trunc:不截断输出
查看docker容器使用资源
docker stats
只返回当前状态
docker stats --no-stream
只输出指定的容器
docker stats --no-stream registry 1999
注意:这里的 registry 和 1999 分别是容器的名称和容器的 ID。多个容器的名称或者是 ID 之间需要用空格进行分割。
退出容器
exit:容器停止退出
Ctrl+P+Q:容器不停止退出
启动容器
docker start ContainerID
重启容器
docker restart ContainerID
停止容器
docker stop ContainerID
强制停止容器
docker kill ContainerID
删除已停止的容器
//删除单个容器:
docker rm ContainerID
//删除多个容器
docker rm -f$(docker ps -a -q)
docker ps -a -q | xargs docker rm
0x03 重要知识点
启动守护式容器:
docker run -d ContainerID
使用以下命令创建一个以进程方式运行的容器
runoob@runoob:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
在输出中,我们没有看到期望的 “hello world”,而是一串长字符
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过docker ps
来查看:
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED:容器的创建时间。
STATUS:容器状态(状态有7种):
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES:自动分配的容器名称。
查看容器日志:
docker logs -f -t --tail 数字 ContainerID
-t:加入时间戳
-f:跟随最新的日志打印
--tail 数字:显示最后多少条
查看容器内运行的进程
docker top ContainerID
查看容器内部细节
docker inspect ContainerID
进入容器
进入正在运行的容器并以命令行交互:
docker exec -it ContainerID /bin/bash
docker attach ContainerID
上述两个区别:
attach:直接进入容器启动命令的终端,不会启动新的进程(不做任何操作)
exec:是在容器中打开新的终端,并且可以启动新的进程(可以做操作,返回结果)
从容器内拷贝文件到主机上
docker cp ContainerID:ContainerPath 宿主机Path
从主机拷贝文件到容器
docker cp /path/to/host/file.txt ContainerID:ContainerPath
ARL相关
自动添加指纹脚本:ARL-Finger-ADD
替换上述脚本中的:finger.json
Usage:
python3 ARl-Finger-ADD.py https://192.168.1.1:5003/ admin password
免责声明
免责声明:本博客的内容仅供合法、正当、健康的用途,切勿将其用于违反法律法规的行为。如因此导致任何法律责任或纠纷,本博客概不负责。谢谢您的理解与配合!