看的爽的话,给个赞呗
Docker常用指令
Dcoker信息
指令 |
说明 |
docker --help |
用于展示docker帮助 |
docker -v |
用于展示docker版本信息 |
docker version |
用于展示docker版本详细信息 |
docker info |
用于展示docker详细信息 |
镜像操作
对于镜像的操作可使用镜像名、镜像长ID和短ID
镜像查看
指令 |
说明 |
docker images [OPTIONS] [REPOSITORY[:TAG]] |
OPTIONS说明:-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);–digests :显示镜像的摘要信息;-f :显示满足条件的镜像;–format :指定返回值的模板文件;–no-trunc :显示完整的镜像信息;-q :只显示镜像ID。 |
docker images |
查看本地镜像 |
docker images -a |
查看运行中的所有容器 |
docker images -q |
只显示镜像ID |
docker images -qa |
含中间映像层 |
docker images --digests |
显示镜像摘要信息(DIGEST列) |
docker images --no-trunc |
显示镜像完整信息 |
docker history -H redis |
显示指定镜像的历史创建;参数:-H 镜像大小和日期,默认为true;–no-trunc 显示完整的提交记录;-q 仅列出提交记录ID |
镜像搜索
参数说明:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
指令 |
说明 |
docker search [OPTIONS] TERM |
–automated :只列出 automated build类型的镜像;–no-trunc :显示完整的镜像描述;-s :列出收藏数不小于指定值的镜像。 |
docker search nginx |
搜索仓库nginx镜像 |
docker search -s 50 nginx |
只显示 stars>=50 的镜像 |
docker search --no-trunc nginx |
显示镜像完整描述 |
docker search --automated nginx |
只列出 automated build类型的镜像 |
镜像下载
指令 |
说明 |
docker pull redis |
下载Redis官方最新镜像,相当于:docker pull redis:latest |
docker pull -a redis |
下载仓库所有Redis镜像 |
docker pull bitnami/redis |
下载私人仓库镜像 |
镜像删除
镜像是rmi ,i = images,这样好记
rm不加i 是删除容器。
指令 |
说明 |
docker rmi redis |
单个镜像删除,相当于:docker rmi redis:latest |
docker rmi -f redis |
强制删除(针对基于镜像有运行的容器进程) |
docker rmi -f redis tomcat nginx |
多个镜像删除,不同镜像间以空格间隔 |
docker rmi -f $(docker images -q) |
删除本地全部镜像 |
镜像构建
-
编写dockerfile
cd /docker/dockerfile
vim mycentos
-
构建docker镜像
docker build -f /docker/dockerfile/mycentos -t mycentos:1.1
容器操作
对于容器的操作可使用CONTAINER ID 或 NAMES。
容器启动
指令 |
说明 |
docker run -it --name mycentos |
新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;–name 为容器指定一个名称 |
docker run -d mycentos |
后台启动容器,参数:-d 已守护方式启动容器 |
docker start redis |
启动一个或多个已经被停止的容器 |
docker restart redis |
重启容器 |
exit |
退出并停止容器 |
CTRL+P+Q |
退出容器 不关闭 |
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
容器进程
指令 |
说明 |
docker top redis |
列出redis容器中运行进程 |
for i in `docker ps |grep Up|awk ‘{print $1}’`;do echo \ &&docker top $i; done |
查看所有运行容器的进程信息 |
容器日志
指令 |
说明 |
docker logs rabbitmq |
查看redis容器日志,默认参数 |
docker logs -f -t --tail=20 redis |
查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;–tail 仅列出最新N条容器日志; |
docker logs --since=“2019-05-21” --tail=10 redis |
查看容器redis从2019年05月21日后的最新10条日志。 |
容器的进入与退出
指令 |
说明 |
docker run -it centos /bin/bash |
使用run方式在创建时进入 |
exit |
关闭容器并退出 |
快捷键:Ctrl + P + Q |
仅退出容器,不关闭 |
docker attach --sig-proxy=false centos |
直接进入centos 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:–sig-proxy=false 确保CTRL-D或CTRL-C不会关闭容器 |
docker exec -i -t centos /bin/bash |
在 centos 容器中打开新的交互模式终端,可以启动新进程,参数:-i 即使没有附加也保持STDIN 打开;-t 分配一个伪终端 |
docker exec -i -t centos ls -l /tmp |
以交互模式在容器中执行命令,结果返回到当前终端屏幕 |
docker exec -d centos touch cache.txt |
以分离模式在容器中执行命令,程序后台运行,结果不会反馈到当前终端 |
查看容器
指令 |
说明 |
docker ps |
查看正在运行的容器 |
docker ps -q |
查看正在运行的容器的ID |
docker ps -a |
查看正在运行+历史运行过的容器 |
docker ps -s |
显示运行容器总文件大小 |
docker ps -l |
显示最近创建容器 |
docker ps -n 3 |
显示最近创建的3个容器 |
docker ps --no-trunc |
不截断输出 |
docker inspect redis |
获取镜像redis的元信息 |
docker inspect --format=’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ redis |
获取正在运行的容器redis的 IP |
容器的停止与删除
指令 |
说明 |
docker stop redis |
停止一个运行中的容器 |
docker kill redis |
杀掉一个运行中的容器 |
docker rm redis |
删除一个已停止的容器 |
docker rm -f redis |
删除一个运行中的容器 |
docker rm -f $(docker ps -qa) |
删除全部容器 |
docker rm -l db |
-l 移除容器间的网络连接,连接名为 db |
docker rm -v redis |
-v 删除容器,并删除容器挂载的数据卷 |
生成镜像
指令 |
说明 |
docker commit -a=“DeepInThought” -m=“my redis” [redis容器ID] myredis:v1.1 |
基于当前redis容器创建一个新的镜像;参数:-a 提交的镜像作者;-c 使用Dockerfile指令来创建镜像;-m :提交时的说明文字;-p :在commit时,将容器暂停 |
容器与主机间的数据拷贝
指令 |
说明 |
docker cp rabbitmq:/[container_path] [local_path] |
将rabbitmq容器中的文件copy至本地路径 |
docker cp [local_path] rabbitmq:/[container_path]/ |
将主机文件copy至rabbitmq容器 |
docker cp [local_path] rabbitmq:/[container_path] |
将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别) |
转载:
https://blog.csdn.net/wrtwen/article/details/105915684