Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker container run 常用命令。

1、docker container run简介

docker container run可以从镜像创建并运行一个新容器。

参考文档:https://docs.docker.com/engine/reference/commandline/container_run/

2、docker container run语法

docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

用法参考:Docker CLI docker run 常用命令

3、命令选项

选项

默认

描述

--add-host

添加自定义主机到IP映射(主机IP)

-a, --attach

连接到stdin、stdout或stderr

--blkio-weight

块IO(相对权重),介于10到1000之间,

或0到禁用(默认为0)

--blkio-weight-device

块IO权重(相对设备权重)(默认值[])

--cap-add

添加Linux功能

--cap-drop

放弃Linux功能

--cgroup-parent

容器的可选父cgroup

--cgroupns

使用(主机|私有)‘host’:在Docker主机的Cgroup

命名空间中运行容器

‘private’:在其自己的私有cgroup命名空间中运行容器":

使用由守护进程上的default-cgroupns-mode

选项配置的cgroup命名空间(默认)

--cidfile

将容器id写入文件

--cpu-count

CPU计数(仅Windows)

--cpu-percent

CPU百分比(仅Windows)

--cpu-period

限制CPU CFS(完全公平调度程序)周期

--cpu-quota

限制CPU CFS(完全公平调度程序)配额

--cpu-rt-period

限制CPU实时周期(微秒)

--cpu-rt-runtime

限制CPU实时运行时间(微秒)

-c, --cpu-shares

CPU共享(相对权重)

--cpus decimal

CPU数量

--cpuset-cpus string

允许执行的CPU(0-3、0、1)

--cpuset-mems string

允许执行的微机电系统(0-3、0、1)

-d, --detach

在后台运行容器并打印容器ID

--detach-keys string

重写用于分离容器的键序列

--device list

将主机设备添加到容器

--device-cgroup-rule list

将规则添加到cgroup allowed devices列表

--device-read-bps list

限制设备的读取速率(字节/秒)(默认为[])

--device-read-iops list

限制设备的读取速率(IO/秒)(默认值[])

--device-write-bps list

限制对设备的写入速率(字节/秒)(默认值[])

--device-write-iops list

限制设备的写入速率(IO/秒)(默认值[])

--disable-content-trust

true

跳过图像验证(默认为true)

--dns list

设置自定义DNS服务器

--dns-option list

设置DNS选项

--dns-search list

设置自定义DNS搜索域

--domainname string

容器NIS域名

--entrypoint string

覆盖图像的默认入口点

-e, --env list

设置环境变量

--env-file list

读取环境变量文件

--expose list

公开一个或一系列端口

--gpus gpu-request

要添加到容器的GPU设备(“all”用于传递所有GPU)

--group-add list

添加要加入的其他组

--health-cmd string

运行以检查运行状况的命令

--health-interval duration

运行检查之间的时间(m s s m h)

(默认为0s)

--health-retries int

需要连续失败才能报告不正常

--health-start-period duration

开始运行状况重试倒计时之前

容器初始化的开始时间(m s s m h)

(默认为0)

--health-timeout duration

允许一个检查运行的最大时间(ms s m m h)

(默认值0)

--help

打印使用

-h, --hostname string

容器主机名

--init

在转发信号和获取进程的容器中运行init

-i, --interactive

即使没有连接,也保持stdin打开

--ip string

IPv4地址(例如172.30.100.104)

--ip6 string

IPv6地址(例如,2001:db833)

--ipc string

要使用的IPC模式

--isolation string

集装箱隔离技术

--kernel-memory bytes

内核内存限制

-l, --label list

在容器上设置元数据

--label-file list

读取以行分隔的标签文件

--link list

将链接添加到另一个容器

--link-local-ip list

容器IPv4/IPv6链路本地地址

--log-driver string

容器的日志驱动程序

--log-opt list

日志驱动程序选项

--mac-address string

容器MAC地址(例如92:d0:c6:0a:29:33)

-m, --memory bytes

记忆极限

--memory-reservation bytes

存储器软限制

--memory-swap bytes

交换限制等于内存加交换'-1'以启用无限制交换

--memory-swappiness int

-1

调整容器内存交换(0到100)(默认-1)

--mount mount

将文件系统装载附加到容器

--name string

为容器指定名称

--network network

将容器连接到网络

--network-alias list

为容器添加网络范围的别名

--no-healthcheck

禁用任何容器指定的运行状况检查

--oom-kill-disable

禁用OOM杀手

--oom-score-adj int

调整主机的OOM首选项(-1000到1000)

--pid string

要使用的PID命名空间

--pids-limit int

调整容器PIDS限制(设置-1表示无限制)

--privileged

授予此容器扩展权限

-p, --publish list

将容器的端口发布到主机

-P, --publish-all

将所有公开的端口发布到随机端口

--pull

missing

在运行前拉取镜像(always, missing, never)

--quiet , -q

抑制pull输出

--read-only

将容器的根文件系统装载为只读

--restart string

重新启动策略以在容器退出时应用(默认为“否”)

--rm

容器退出时自动拆卸

--runtime string

用于此容器的运行时

--security-opt list

安全选项

--shm-size bytes

/dev/shm的大小

--sig-proxy

代理接收到进程的信号(默认为true)

--stop-signal string

停止容器的信号(默认为“sigterm”)

--stop-timeout int

停止容器超时(秒)

--storage-opt list

容器的存储驱动程序选项

--sysctl map

sysctl选项(默认映射[])

--tmpfs list

装入tmpfs目录

-t, --tty

分配一个伪tty

--ulimit ulimit

ulimit选项(默认值[])

-u, --user string

用户名或uid(格式[])

--userns string

要使用的用户命名空间

--uts string

要使用的uts命名空间

-v, --volume list

绑定装入卷

--volume-driver string

容器的可选卷驱动程序

--volumes-from list

从指定容器装入卷

-w, --workdir string

容器内的工作目录

4、子命令

命令

描述

docker container attach

将本地标准输入、输出和错误流附加到正在运行的容器

docker container commit

根据容器的更改创建一个新镜像

docker container cp

在容器和本地文件系统之间复制文件/文件夹

docker container create

创建一个新容器

docker container diff

检查容器文件系统上文件或目录的更改

docker container exec

在运行的容器中执行命令

docker container export

将容器的文件系统导出为tar归档文件

docker container inspect

显示一个或多个容器的详细信息

docker container kill

kill一个或多个正在运行的容器

docker container logs

获取容器日志

docker container ls

显示容器列表

docker container pause

暂停一个或多个容器中的所有进程

docker container port

列出容器的端口映射或特定映射

docker container prune

移除所有停止使用的容器

docker container rename

重命名容器

docker container restart

重新启动一个或多个容器

docker container rm

移除一个或多个容器

docker container run

从镜像创建并运行一个新容器

docker container start

启动一个或多个停止的容器

docker container stats

显示容器资源使用统计数据的实时stream

docker container stop

停止一个或多个正在运行的容器

docker container top

显示容器正在运行的进程

docker container unpause

取消暂停一个或多个容器中的所有进程

docker container update

更新一个或多个容器的配置

docker container wait

阻塞直到一个或多个容器停止,

然后打印它们的退出代码

推荐文档

相关文档

大家感兴趣的内容

随机列表