| –shm-size | /dev/shm的大小 |
| –sig-proxy | 代理收到该过程的信号 默认 true |
| –stop-signal | 停止容器的信号 默认 SIGTERM |
| –stop-timeout | 暂停(以秒为单位)以阻止容器 |
| –storage-opt | 容器的存储驱动程序选项 |
| –sysctl | Sysctl选项 |
| –tmpfs | 挂载tmpfs目录 |
| –tty , -t | 分配 pseudo-TTY |
| –ulimit | 限制选项 |
| –user , -u | 用户名或UID (format: <name |
| –userns | 要使用的用户命名空间 |
| –uts | 要使用的UTS命名空间 |
| –volume , -v | 绑定安装卷 |
| –volume-driver | 容器的可选音量驱动程序 |
| –volumes-from | 从指定的容器中挂载卷 |
| –workdir , -w | 容器内的工作目录 |
呼!累死宝宝了,,,这里的命令类型真的太多了。
三、实例测试
3.1、分配名称并分配pseudo-TTY(–name,-it)
我们先来创建一个使用debian:latest
映像运行一个名为test的容器。-it 指示Docker分配一个pseudo-TTY 连接到容器的stdin;在容器中创建一个交互式bash shell
。
$ docker run --name test -it debian
root@d6c0fe130dba:/# exit 13
$ echo $?
13
$ docker ps -a | grep test
a131d2951e84 debian “bash” About a minute ago Exited (13) About a minute ago test
在上面命令中,输入exit 13退出bash shell。这个退出代码被传递给docker运行的调用者,并记录在测试容器的元数据中。
3.2、记录容器ID(–cidfile)
$ ocker run --cidfile /tmp/docker_test.cid ubuntu echo “test”
创建一个容器,并将test打印到控制台。cidfile标志使Docker尝试创建一个新文件,并将容器ID写入其中。如果文件已经存在,Docker将返回错误。Docker将在docker run退出时关闭此文件。
3.3、完整的容器功能 (–privileged)
$ docker run -t -i --rm ubuntu bash
上面的命令结果运行,直接提示我们没有权限,因为默认情况下,这是直接删除内核功能;包括cap_sys_admin(挂载文件系统需要)。然而,–privileged标志将允许它运行:
--privileged
标志赋予容器所有功能,它还解除了devicecgroup控制器执行的所有限制。换句话说,容器几乎可以做主机能做的一切。此标签的存在是为了允许特殊用例,例如在Docker中运行Docker。
3.4、设置工作目录 (-w)
$ docker run -w /path/to/dir/ -i -t ubuntu pwd
-w
允许在给定的目录内执行命令,此处为/path/to/dir/
。如果路径不存在,则在容器内创建。
3.5、为每个容器设置存储驱动程序选项
$ docker run -it --storage-opt size=120G fedora /bin/bash
这个(size)将允许在创建时将容器rootfs大小设置为120G。此选项仅适用于devicemapper、btrfs、overlay2、windowsfilter和zfs图形驱动
。对于devicemapper, btrfs, windowsfilter和zfs图形驱动
,用户不能传递小于默认BaseFS 的大小。对于overlay2存储驱动程序,只有当备份文件fs是xfs并且使用pquota挂载选项挂载时,size选项才可用。在这些条件下,用户可以传递任何小于备份文件大小的大小。
3.6、Mount tmpfs (–tmpfs)
$ docker run -d --tmpfs /run:rw,noexec,nosuid,size=65536k my_image
--tmpfs
标志将一个空的tmpfs装入容器中,其中包含rw、noexec、nosuid、size=65536k选项
。
3.7、Mount volume (-v, --read-only)
$ docker run -v
pwd
:pwd
-wpwd
-i -t ubuntu pwd
-v
标志将当前工作目录挂载到容器中。-w
允许在当前工作目录中执行命令,方法是将命令更改为pwd返回的值。因此,此组合使用容器执行命令,但在当前工作目录中。
$ docker run -v /doesnt/exist:/foo -w /foo -i -t ubuntu bash
当绑定式卷的主机目录不存在时,Docker将自动在主机