>  Q&A  >  본문

golang - docker volume挂载不存在的主机目录到容器时,自动创建的目录的权限为root

请问,我用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, 在容器中没有权限在该目录下新建文件。请问如何解决这个问题?

伊谢尔伦伊谢尔伦2760일 전700

모든 응답(1)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-22 09:00:56

    말씀하신 상황에서는 Docker의 데이터 볼륨을 사용해야 합니다. Swarm에서는 데이터를 저장하기 위해 호스트 디렉터리를 마운트하는 방식을 사용해서는 안 됩니다.

    Swarm 환경에서 필요한 데이터 볼륨을 생성하면 컨테이너가 해당 데이터 볼륨을 사용할 수 있습니다. docker volume create mydata을 사용하여 데이터 볼륨을 생성한 다음 마운트할 때 -v mydata:/opt/data를 사용하거나 docker-composevolumes: 부분에서 직접 정의할 수 있습니다.

    으아아아

    말씀하신 문제를 해결할 수 있습니다.

    회신하다
    0
  • 취소회신하다