【Docker开篇第二篇】Docker 掌握核心技术_docker --ipc host

| –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 -w pwd -i -t ubuntu pwd

-v标志将当前工作目录挂载到容器中。-w允许在当前工作目录中执行命令,方法是将命令更改为pwd返回的值。因此,此组合使用容器执行命令,但在当前工作目录中。

$ docker run -v /doesnt/exist:/foo -w /foo -i -t ubuntu bash

当绑定式卷的主机目录不存在时,Docker将自动在主机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值