介绍常用的容器命令

运行镜像:

执行语句为: docker run [参数] IMAGE [命令] ,参数分为一个减号与两个减号
IMAGE 可以为 镜像名:版本号镜像ID
主要参数:

  1. - --name="容器新名字":为容器指定一个名称,不指定将随机命名
  2. - -d:后台运行容器并返回容器ID,即启动守护式容器**(也称后台运行模式、detached 模式),没有该参数为前台运行,称为 attached 模式**
  3. - -i:以交互模式运行容器,通常与 -t 同时使用
  4. - -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
  5. - -P:随机端口映射
  6. - -p:指定端口映射
  7. - ** **--restart=always :当docker重启时容器也进行重新启动,具体可查看[可视化管理章节](https://www.yuque.com/yuxuandmbjz/docker/ud34wq)
  8. - -v:挂载目录,完整命令为 docker run -it -v /宿主机目录:/容器目录 --privileged=true 镜像名

其中 —privileged=true 为赋予挂载目录权限,避免执行后提示 cannot open directory .: Permission denied (没权限),具体可查看容器数据卷章节

后台运行容器只能在可后台运行的镜像上才能生效,例如 Ubuntu、Centos 这类系统镜像不适用 -d 参数
image.png

-it 相当于在目标镜像启动时创建一个 bash 操作窗口,没有该参数在将无法正常运行可交互镜像
image.png

在启动可交互镜像时可以指定不同的操作方式,例如 /bin/sh、/bin/bash 等,默认为 bash
image.png
image.png

列出容器信息:

命令为 :docker ps ,默认为列出当前正在运行的容器,STATUS 代表容器当前状态(UP:当前运行,EXITED:结束运行,CREATED:仅创建)
主要参数:

  1. - -a:列出当前所有容器( 正在运行的容器+历史上运行过的+仅创建
  2. - -l:显示最近创建的容器
  3. - -n:显示最近n个创建的容器,后面需带上数字
  4. - -q:静默模式,只显示当前正在运行容器的容器编号

image.png
image.png
image.png
image.png
image.png

退出容器:

分为 exit ctrl+p+q,exit 为退出并停止容器,ctrl+p+q 仅退出
image.png

进入容器:

使用 ctrl+p+q 退出容器后,可通过执行 docker exec -it 容器ID [command] 再次进入容器
image.png

除了 exec 方法还有 docker attach 容器ID 可以再次进入容器,区别在于 attach 直接进入容器启动命令的终端,不会启动新的进程,用 exit 、ctrl + c 退出,会导致容器的停止;exec 是在容器中打开新的终端,并且可以启动新的进程,用 exit 退出,不会导致容器的停止
image.png
image.png

启动已停止运行的容器:

操作命令:docker start 容器ID或者容器名
仅能启动存在镜像的容器,当镜像不存在时对应容器不会被启动
image.png

重启容器:

操作命令:docker restart 容器ID或者容器名

停止容器:

操作命令:docker stop 容器ID或者容器名

强制停止容器:

操作命令:docker kill 容器ID或容器名

删除容器:

执行命令:docker rm [参数] 容器ID或容器名称
正常删除容器时需要容器停止运行,只能通过强制删除来删除正在运行时的容器
强制删除全部容器命令:docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm -f
删除所有退出的容器:docker system prune -f
主要参数:

  • -f:强制删除

image.png

查看容器日志:

操作命令:docker logs 容器ID
image.png

查看容器进程:

操作命令:docker top 容器ID
image.png

查看容器内部细节:

操作命令:docker inspect 容器ID
image.png

从容器内拷贝文件到主机上:

操作命令:docker cp 容器ID:容器内路径 目的主机路径
image.png

导出:

导出容器的内容留作为一个 tar 归档文件
操作命令:docker export 容器ID > 名称.tar
image.png

导入:

将通过 export 打包的容器导入到 docker 中,导入后将创建镜像。运行导入后的镜像只能通过 Image ID 进行启动
操作命令:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
image.png
image.png

提交容器为镜像:

将容器提交为镜像,不需要先打包再导入
操作命令:docker commit -m=”提交信息” -a=”作者” 容器ID 目标镜像名:版本号
image.png

DockerFile 生成镜像:

案例参考:dockerFile 章节

  1. docker build -t 镜像名称:版本号 .