小编bat*_*lei的帖子

创建有限大小的Docker卷

关于带有选项“ https://docs.docker.com/engine/reference/commandline/volume_create/ ”的创建卷的信息非常有限。

我只是想创建一个有限大小的卷,我尝试过,

docker volume create --opt o=size=10m hello-volume
Run Code Online (Sandbox Code Playgroud)

,当使用“ docker run -v hello-volume:/ hello -it ubuntu / bin / bash”运行一个简单的hello world容器时,出现类似“ docker:daemon的错误响应:…没有此类设备”的错误。

因此,我假设创建卷时必须提供完整的选项,例如

“docker volume create --driver local --opt type=*** --opt device=*** --opt o=size=10m hello-volume”
Run Code Online (Sandbox Code Playgroud)

?如果是这样,这里的“类型”和“设备”是什么?我猜该设备实际上是任何目录的路径?我试过了

“docker volume create --driver local --opt type=volume --opt device=/ --opt o=size=10m hello-volume”.
Run Code Online (Sandbox Code Playgroud)

当尝试以“ docker run -v hello-volume:/ hello -it ubuntu / bin / bash”的身份运行容器时,出现以下错误:“ docker:守护程序的错误响应:挂载卷'/ var / lib / docker时出错/ volumes / hello-volume / _data':安装带有选项的卷时出错:type ='volume'device ='/'o ='size = 10m':无此类设备。”

我试过了

docker …
Run Code Online (Sandbox Code Playgroud)

docker docker-volume

6
推荐指数
2
解决办法
2398
查看次数

以 root 和非 root 身份运行 docker

对“以非 root 用户与 root 用户身份运行 docker”感到困惑。

第一个问题(以非 root 用户身份运行):根据Linux 的安装后步骤,要以非 root 身份运行 docker,我们创建 docker 组并将用户添加到其中。然而,文章声称“docker 组授予与 root 用户等效的权限”。所以如果我理解正确的话,我们不是以root身份运行docker,而是以与root一样强大的用户(在docker组中)运行它?

第二个问题(以 root 用户身份运行):假设我按照上述步骤操作(创建 docker 组并将用户添加到其中)。但是我在 Dockerfile 中指定了“USER root”(下面的示例)。当我运行这个容器时,不管上面的设置如何,它都会以 root 身份运行,对吗?

FROM debian:stretch
USER root
CMD["echo", "hello"] 
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

4
推荐指数
1
解决办法
6276
查看次数

“源脚本”不支持“#!/bin/bash -ex”并在命令失败时退出

在 bash 中谷歌搜索“set -e”后我感到困惑。根据我的理解,使用“set -e”,只要出现错误,bash就会退出。但是如果你在 mac 中运行下面两个简单的脚本,例如source myscript,你仍然可以看到“无法到达这里”......有什么想法吗?

#!/bin/bash -ex 
fun_with_error_code() {
  return 1;
}
fun_with_error_code
echo "can not get here"
Run Code Online (Sandbox Code Playgroud)

另一个

#!/bin/bash -ex
commandNotExit
echo "can not get here"
Run Code Online (Sandbox Code Playgroud)

我的菜鸟错误。查尔斯·达菲(Charles Duffy)的以下回答解决了这个问题。这两个脚本工作正常,只是因为“source myscript”不尊重 shebang 行。

bash shell

3
推荐指数
1
解决办法
916
查看次数

标签 统计

docker ×2

bash ×1

docker-volume ×1

dockerfile ×1

shell ×1