操作 Docker 容器常用命令汇总 您所在的位置:网站首页 docker使用以及常用命令操作指令是什么 操作 Docker 容器常用命令汇总

操作 Docker 容器常用命令汇总

2024-04-13 16:28| 来源: 网络整理| 查看: 265

镜像仓库常用指令:Docker 镜像仓库是什么?有哪些镜像仓库命令? - 掘金 (juejin.cn)

镜像常用指令:操作 Docker 镜像的常用命令 - 掘金 (juejin.cn)

1. 什么是容器?

  容器是镜像的运行实体。容器是基于镜像创建的可运行实例,并且单独存在,一个镜像可以创建出多个容器。容器有自己独立的命名空间隔离和资源限制。也就是说在容器内部,无法看到主机上的进程、环境变量、网络等信息,这是容器与直接运行在主机上进程的本质区别。

2. 操作容器的命令 2.1 docker run 功能:创建一个新的容器并运行一个命令 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

参数:

-d: 后台运行容器,并返回容器 ID -i: 以交互模式运行容器,通常与 -t 同时使用 -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为: 主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用 --name "……": 为容器指定一个名称 -h "mars": 指定容器的 hostname -e username="ritchie": 设置环境变量 --cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行 -m :设置容器使用内存最大值 --network="……": 指定容器的网络连接类型 --link=[]: 添加链接到另一个容器 --volume , -v: 绑定一个卷 --rm :shell 退出的时候自动删除容器

-i、-t 参数

# 拉取一个 centos:7 的镜像 ocker pull centos:7 # 启动容器,并进入该容器的终端,并将它的名字改为 mycentos2 docker run -it --name mycentos2 centos:7

image.png

image.png

CONTAINER ID: 容器的唯一标识符,通常是一个长字符串。 IMAGE: 容器所基于的镜像。在这个例子中,使用的是 CentOS 7 镜像。 COMMAND: 运行容器时执行的命令。 CREATED: 容器创建的时间。 STATUS: 容器的状态。在这个例子中,"Exited (0)" 表示容器已经停止运行,括号中的数字表示容器退出时的状态码。 PORTS: 容器的端口映射情况。 NAMES: 容器的名称。 -p、-P 参数

由于容器里应用程序端口与外面是隔离的,所以需要将容器里的端口与主机的端口相映射。

image.png

# 将主机的 8081 端口与 nginx 的默认端口相绑定,并将 nginx 后台运行 docker run -d -p 8081:80 nginx:1.23.3

浏览器输入 IP 地址与端口:

image.png

访问 nginx 成功!

-h

image.png

2.2 docker ps 功能:列出容器 docker ps [OPTIONS] 或 docker container ls, docker container list, docker container ps

参数:

-a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。如 json 或者 table -l :显示 latest 的容器。 -n :列出最近创建的 n 个容器。 --no-trunc :不截断输出。

-a

image.png

-f

image.png

-format

image.png

2.3 docker create 功能:创建一个容器但是不启动它。 docker create [OPTIONS] IMAGE [COMMAND] [ARG...] 参数: -i: 以交互模式运行容器,通常与 -t 同时使用; -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为: 主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="……": 为容器指定一个名称; -h "mars": 指定容器的 hostname; -e username="ritchie": 设置环境变量; --cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行; -m :设置容器使用内存最大值; --network="bridge": 指定容器的网络连接类型; --link=[]: 添加链接到另一个容器; --volume , -v: 绑定一个卷 --rm :shell 退出的时候自动删除容器 2.4 docker logs 功能:查看容器日志 docker logs [OPTIONS] CONTAINER 参数: -f: 跟踪日志输出 --since :显示某个开始时间的所有日志 -t: 显示时间戳 -n,--tail :仅列出最新 N 条容器日志 2.5 docker attach 功能:连接到正在运行中的容器 docker attach [OPTIONS] CONTAINER 参数: --sig-proxy:是否将所有信号代理,默认是 true,如果设置为 false,退出的话不会影响容器,否则退出会导致容器退出。

image.png

image.png

2.6 docker exec 功能:在容器中执行命令 docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 参数: -d :分离模式: 在后台运行 -i :即使没有附加也保持 STDIN 打开 -t :分配一个伪终端 -e :设置环境变量 -u,--user :指定用户 "[:]" -w,--workdir:指定工作目录

image.png

#在容器中以交互模式打开 shell: docker exec -it mynginx bash

image.png

2.7 docker start 功能:启动停止的容器 docker start CONTAINER [CONTAINER...] 2.8 docker stop 功能:停止运行的容器 docker stop CONTAINER [CONTAINER...] 2.9 docker restart 功能:重启容器 docker restart CONTAINER [CONTAINER...] 2.10 docker kill 功能:强制退出容器 docker kill CONTAINER [CONTAINER...] 2.11 docker top 功能:查看容器中运行的进程信息,支持 ps 命令参数。 ocker top CONTAINER [ps OPTIONS] 2.12 docker stats 功能:显示容器资源的使用情况,包括: CPU、内存、网络 I/O 等。 docker stats [OPTIONS] [CONTAINER...] 参数: --all , -a :显示所有的容器,包括未运行的。 --format :指定返回值的模板文件。如 table,json --no-stream :展示当前状态就直接退出了,不再实时更新。 --no-trunc :不截断输出。

image.png

CONTAINER ID 与 NAME: 容器 ID 与名称。 CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。 MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。 NET I/O: 容器通过其网络接口发送和接收的数据量。 BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。 PIDS: 容器创建的进程或线程数 2.13 docker container inspect 功能:查看容器详细信息 docker container inspect [OPTIONS] CONTAINER [CONTAINER...] 参数: -f :指定返回值的模板文件。如 table、 json -s :显示总的文件大小

image.png

2.14 docker port 功能:用于列出指定的容器的端口映射。 docker port CONTAINER [PRIVATE_PORT[/PROTO]] 2.15 docker cp 功能:在容器和宿主机之间拷贝文件 # 把容器中的文件拷贝到宿主机的目录下 docker cp 容器ID或名称:宿主机的文件 宿主机的目录 # 把宿主机中的文件拷贝到容器中的某个目录下 docker cp 宿主机的文件 容器ID或名称:容器的目录

image.png

image.png

2.16 docker diff 功能:检查容器里文件结构的更改。 docker diff CONTAINER 2.17 docker commit 功能:从容器创建一个新的镜像。 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 参数: -a :提交的镜像作者; -c :使用 Dockerfile 指令来创建镜像;可以修改启动指令 -m :提交时的说明文字; -p :在 commit 时,将容器暂停

image.png

2.18 docker pause 功能:暂停容器中所有的进程。 docker pause CONTAINER [CONTAINER...] 2.19 docker unpause 功能:恢复容器中所有的进程。 docker unpause CONTAINER [CONTAINER...] 2.20 docker rm 功能:删除停止的容器 docker rm [OPTIONS] CONTAINER [CONTAINER...] 参数:-f :通过 SIGKILL 信号强制删除一个运行中的容器。 #删除所有停止的容器 docker rm $(docker ps -a -q) 2.21 docker export 功能:导出容器内容为 tar 文件。 docker export [OPTIONS] CONTAINER # 导出 nginx 为 tar docker export -o mynginx202203.tar mynginx 2.22 docker import 功能:将 export 导出的 tar 文件创建一个镜像 docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] 参数: -c :应用 docker 指令创建镜像。 -m :提交时的说明文字。 docker import mynginx202203.tar mynginx:v4 2.23 docker rename 功能:重命名容器 docker rename CONTAINER NEW_NAME

image.png

2.24 docker container prune 功能:删除所有停止的容器 docker container prune [OPTIONS] 参数:-f, --force:不提示是否进行确认

image.png



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有