docker命令总结

82 阅读7分钟

docker命令介绍大纲 1、帮助类 1.1 docker 命令帮助 docker --- 显示docker命令帮助 1.2 help 单个命令帮助 docker --help --- 显示某个命令帮助

2、Docker信息类 2.1 version 版本信息 docker version --- 显示Docker版本信息 2.2 info 系统信息 docker info --- 显示 Docker 系统信息,包括镜像和容器数等信息 2.3 inspect 镜像/容器的元数据 docker inspect [OPTIONS] NAME|ID [NAME|ID...] --- 显示镜像或容器元数据

-f : 指定返回值的模板文件。 -s : 显示总的文件大小。 --type : 为指定类型返回JSON。

3、本地镜像类 3.1 images 显示镜像(常用) docker images [OPTIONS] [REPOSITORY[:TAG]] --- 列出本地镜像

-a : 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层) --digests : 显示镜像的摘要信息 -f : 显示满足条件的镜像 --format : 指定返回值的模板文件 --no-trunc : 显示完整的镜像信息 -q : 只显示镜像ID

【注】当存在多个相同名称和tag的镜像时,原有镜像名称和tag将会显示为 3.2 rmi 删除镜像(常用) docker rmi [OPTIONS] IMAGE [IMAGE...] --- 删除本地一个或多个镜像

-f : 强制删除 --no-prune : 不移除该镜像的过程镜像,默认移除

【注】当某容器正在运行某一镜像时,如果需要删除该镜像,需要使用强制删除,但同时可能会导致显示容器信息时,IMAGE信息无法显示,容器难以识别。 3.2 tag 标记镜像(常用) docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] --- 标记本地镜像 3.4 save 镜像保存为tar包(常用) docker save [OPTIONS] IMAGE [IMAGE...] --- 将指定镜像保存成 tar 包,docker load的逆操作

-o : 输出到的文件 3.5 load 从tar包载入镜像(常用) docker load [OPTIONS] --- 从 tar 包载入镜像,docker save的逆操作

-i : 从文件输入 -q : 精简输出信息 3.6 export 从容器抽取镜像保存为tar包 docker export [OPTIONS] CONTAINER --- 从容器抽取镜像并保存成 tar 包

-o : 输出到的文件

【注】与save命令不同,从容器抽取的镜像会丢失镜像历史记录,导致镜像无法回滚到之前版本 3.7 import 从容器抽取的tar包载入镜像 docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] --- 从归档文件中创建镜像

-c : 应用Dockerfile指令创建镜像 -m : 提交时的说明文字

【注】注意和docker load 的区别在于 import 可以自定义所创建镜像的信息 3.8 commit 从容器创建镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] --- 从容器创建一个新的本地镜像

-a : 提交的镜像作者 -c : 使用Dockerfile指令来创建镜像 -m : 提交时的说明文字 -p : 在commit时,将容器暂停 3.9 build 创建镜像 docker build [OPTIONS] PATH | URL | - --- 使用Dockerfile创建镜像 3.10 history 镜像创建历史 docker history [OPTIONS] IMAGE --- 查看指定镜像的创建历史

-H : 以可读的格式打印镜像大小和日期,默认为true --no-trunc : 显示完整的提交记录 -q : 仅列出提交记录ID

4、镜像仓库类 4.1 增加镜像仓库(常用) 当需要修改镜像仓库地址时候,需要修改如下文件 /etc/default/docker

如需要增加镜像仓库地址为192.168.0.1,端口为6666,则需要增加如下记录 DOCKER_OPTS="$DOCKER_OPTS --insecure-registry 192.168.0.1:6666"

增加完毕后重启docker服务 service docker restart 4.2 pull 拉取镜像(常用) docker pull [OPTIONS] NAME[:TAG|@DIGEST] --- 从镜像仓库中拉取或者更新指定镜像

-a : 拉取所有 tagged 镜像 --disable-content-trust : 忽略镜像的校验,默认开启 4.3 push 上传镜像(常用) docker push [OPTIONS] NAME[:TAG] --- 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 4.4 login/logout 登录/登出镜像仓库 docker login [OPTIONS] [SERVER] --- 登录,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

-u : 登陆的用户名 -p : 登陆的密码


docker logout [SERVER] --- 登出 4.5 search 从Docker Hub查找镜像 docker search [OPTIONS] TERM --- 从Docker Hub查找镜像

5、容器操作类 5.1 ps 列出容器(常用) docker ps [OPTIONS] --- 列出容器

-a : 显示所有的容器,包括未运行的。 -f : 根据条件过滤显示的内容。 --format : 指定返回值的模板文件。 -l : 显示最近创建的容器。 -n : 列出最近创建的n个容器。 --no-trunc : 不截断输出。 -q : 静默模式,只显示容器编号。 -s : 显示总的文件大小。 5.2 attach 连接到容器(常用) docker attach [OPTIONS] CONTAINER --- 连接到正在运行的容器 5.3 top 查看容器内进程(常用) docker top CONTAINER [ps OPTIONS] --- 查看容器内运行的进程信息,可支持ps命令参数 5.4 rename 容器重命名 docker rename CONTAINER NEW_NAME --- 容器重命名 5.5 stats 查看容器资源消耗 docker stats [OPTIONS] [CONTAINER...] --- 查看容器的资源消耗情况 5.6 port 查看容器端口映射 docker port CONTAINER [PRIVATE_PORT[/PROTO]] --- 查看容器端口映射信息,或者查找将PRIVATE_PORT NAT到面向公众的端口 5.7 wait 阻塞运行 docker wait CONTAINER [CONTAINER...] --- 阻塞运行直到容器停止,然后打印出它的退出代码 5.8 logs 获取容器日志 docker logs [OPTIONS] CONTAINER --- 获取容器日志

-f : 跟踪日志输出 --since : 显示某个开始时间的所有日志 -t : 显示时间戳 --tail : 仅列出最新N条容器日志 5.9 events 获取服务器实时事件 docker events [OPTIONS] --- 阻塞运行直到容器停止,然后打印出它的退出代码

-f : 根据条件过滤事件 --since : 从指定的时间戳后显示所有事件 --until : 流水时间显示到指定的时间为止

6、容器生命周期管理类 6.1 run 创建并运行容器(常用) docker run [OPTIONS] IMAGE [COMMAND] [ARG...] --- 创建新容器并运行

docker run 可使用option较多,仅列举一些常用参数,其他请参见docker帮助 -d : 后台运行容器,并返回容器ID; -i : 以交互模式运行容器,通常与 -t 同时使用; -t : 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --privileged : 是否使用特权模式 --env : 设置环境变量 --name : 设置容器名称 -p : 指定端口映射,格式为:主机(宿主)端口:容器端口 -P : 随机端口映射,容器内部端口随机映射到主机的端口 -v : 将外部卷嵌入容器 /bin/bash : 以交互模式启动一个容器,在容器内执行/bin/bash命令 6.2 start 启动容器(常用) docker start [OPTIONS] CONTAINER [CONTAINER...] --- 启动已经停止运行的容器 6.3 stop 停止容器(常用) docker stop [OPTIONS] CONTAINER [CONTAINER...] --- 停止正在运行的容器 6.4 kill 强制停止容器(常用) docker kill [OPTIONS] CONTAINER [CONTAINER...] --- 强制停止容器

-s : 向容器发送一个信号 6.5 restart 重启容器(常用) docker restart [OPTIONS] CONTAINER [CONTAINER...] --- 重启正在运行的容器 6.6 rm 删除容器(常用) docker rm [OPTIONS] CONTAINER [CONTAINER...] --- 删除容器

-f : 通过SIGKILL信号强制删除一个运行中的容器 -l : 移除容器间的网络连接,而非容器本身 -v : -v 删除与容器关联的卷 6.7 exec 容器中执行命令(常用) docker exec [OPTIONS] CONTAINER COMMAND [ARG...] --- 在运行的容器中执行命令

-d : 分离模式,在后台运行 -i : 即使没有附加也保持STDIN 打开 -t : 分配一个伪终端 /bin/bash : 开启一个交互模式的终端 6.8 create 创建但不运行容器 docker create [OPTIONS] IMAGE [COMMAND] [ARG...] --- 创建但不运行容器

【注】用法同docker run 6.9 pause/unpause 暂停/恢复容器进程 docker pause CONTAINER [CONTAINER...] --- 暂停 容器内所有的进程 docker unpause CONTAINER [CONTAINER...] --- 恢复 容器内所有的进程

7、容器rootfs类 7.1 cp 主机与容器间数据拷贝(常用) docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH --- 在主机与容器之间进行数据拷贝

【注】docker1.8版本之后才支持从主机拷贝文件至docker容器中,之前版本仅能支持将容器内文件拷贝至主机 7.2 diff 检查容器内文件结构更改 docker diff CONTAINER --- 检查容器内文件结构更改

8、一些小技巧 8.1 不重新部署更换容器内可执行(exe)文件

  1. 使用docker exec命令,以bash方式,进入容器

  2. 将原有的exe文件更名,退出容器

  3. 使用docker cp命令,将新exe文件拷贝到原exe文件位置

  4. 使用docker restart命令,重启容器

  5. 重启后,新的exe文件即生效运行 ————————————————

                         版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                     
    

原文链接:blog.csdn.net/qq_24700495…