golang - docker volume挂载不存在的主机目录到容器时,自动创建的目录的权限为root
伊谢尔伦
伊谢尔伦 2017-04-22 08:58:56
0
1
675

请问,我用docker volume时,挂在本地目录到容器目录。如果本地目录不存在,docker会自动创建一个。比如:
docker run --name=node-1 --rm=true --volume=/home/simba/work/test:/home/jovyan/work --publish=:8888 --publish-all=false jupyter/all-spark-notebook
当test用户不存在时,docker会自动创建test.然而自动创建的test的权限是drwxr-xr-x 2 root root, 在容器中没有权限在该目录下新建文件。请问如何解决这个问题?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
大家讲道理

你說的情況應該要使用 Docker 的資料卷。在Swarm中是不應該使用掛載宿主目錄的方式保存資料的。

在 Swarm 環境中建立所需資料卷,然後容器使用該資料卷即可。可以使用 docker volume create mydata 来创建数据卷,然后在挂载时使用 -v mydata:/opt/data,或者直接在 docker-composevolumes: 部分定義:

volumes:
    mydata:{}

都可以解決你說的問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!