Rumah  >  Soal Jawab  >  teks badan

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 hari yang lalu701

membalas semua(1)saya akan balas

  • 大家讲道理

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

    Dalam situasi yang anda nyatakan, volum data Docker harus digunakan. Dalam Swarm, anda tidak seharusnya menggunakan kaedah memasang direktori hos untuk menyimpan data.

    Buat volum data yang diperlukan dalam persekitaran Swarm, dan kemudian bekas boleh menggunakan volum data. Anda boleh menggunakan docker volume create mydata untuk mencipta volum data, dan kemudian menggunakan -v mydata:/opt/data apabila melekap, atau mentakrifkannya secara langsung dalam bahagian docker-compose volumes::

    volumes:
        mydata:{}

    boleh menyelesaikan masalah yang anda nyatakan.

    balas
    0
  • Batalbalas