Maison  >  Questions et réponses  >  le corps du texte

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

伊谢尔伦伊谢尔伦2709 Il y a quelques jours678

répondre à tous(1)je répondrai

  • 大家讲道理

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

    Dans la situation que vous avez mentionnée, le volume de données de Docker doit être utilisé. Dans Swarm, vous ne devez pas utiliser la méthode de montage du répertoire hôte pour enregistrer des données.

    Créez le volume de données requis dans l'environnement Swarm, puis le conteneur pourra utiliser le volume de données. Vous pouvez utiliser docker volume create mydata pour créer un volume de données, puis utiliser -v mydata:/opt/data lors du montage, ou le définir directement dans la partie docker-compose de volumes: :

    volumes:
        mydata:{}

    peut résoudre le problème que vous avez mentionné.

    répondre
    0
  • Annulerrépondre