相关疑难解决方法(0)

在主机上chown docker卷(可能通过docker-compose)

我有以下示例

version: '2'

services:
  proxy:
    container_name: proxy
    hostname: proxy
    image: nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - proxy_conf:/etc/nginx
      - proxy_htdocs:/usr/share/nginx/html

volumes:
  proxy_conf: {}
  proxy_htdocs: {}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.当我运行docker-compose up它时,创建那些命名的卷/var/lib/docker/volumes,一切都很好.但是,从主机,我只能/var/lib/docker以root身份访问,因为它root:root(有意义).我想知道是否有一种方法可以chown将主机的目录更加明智/安全(比如,我用来在主机上做大部分工作的相对无特权的用户),或者我是否只需要chown手动操作它们.我已经开始有许多脚本可以解决其他问题了,所以有一个额外的几行不会有太大的问题,但我真的想保持自编自动化最小化,如果我可以 - 减少愚蠢错误的机会.

顺便说一句,没有:如果我挂载主机目录而不是创建卷,它们会被覆盖,这意味着如果它们开始为空,它们将保持为空,并且我没有从容器内部获得默认配置(或其他任何内容).

额外点:我可以将卷移到更方便的位置吗?说,/home/myuser/myserverstuff/volumes

chown docker docker-compose docker-volume

6
推荐指数
1
解决办法
1万
查看次数

创建有限大小的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
查看次数

标签 统计

docker ×2

docker-volume ×2

chown ×1

docker-compose ×1