请问,我用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, 在容器中没有权限在该目录下新建文件。请问如何解决这个问题?
你说的情况应该使用 Docker 的数据卷。在Swarm中是不应该使用挂载宿主目录的方式保存数据的。
在 Swarm 环境中创建所需数据卷,然后容器使用该数据卷即可。可以使用
docker volume create mydata
来创建数据卷,然后在挂载时使用-v mydata:/opt/data
,或者直接在docker-compose
的volumes:
部分定义:都可以解决你说的问题。