Comment écrire dans le dossier hôte monté du contenant docker

Alex Jolig:

J'ai un petit projet en cours d' exécution en tant que conteneur de docker pour sauvegarder les données de mon MongoDB. les données de sauvegarde est supposé enregistrer dans la machine hôte docker. Donc , j'utilise volumedans le docker-composefichier:

version: '3'

services:
  mongo_backup:
    container_name: mongo_backup
    build: .
    command: python3 app.py
    volumes:
      - ./backups:/backups

Quand je lance ce code, un dossier nommé backupsest créé dans le dossier du projet dans la machine hôte.

if not os.path.exists('./backups/'):
    os.mkdir('./backups/')

Mais lorsque je tente de créer un autre dossier dans le ./backups/dossier, rien ne se passe sans erreur.

if not os.path.exists('./backups/another-folder'):
    os.mkdir('./backups/another-folder')

Le deuxième dossier est créé à l'intérieur du conteneur docker, mais rien ne se passe à l'intérieur de la machine hôte.

Je me suis fixé l'accès à l'intégralité du dossier de projet dans le cas où le problème est lié aux autorisations d'écriture:

sudo chmod -R 777 address/to/project/

Mais il n'a pas aidé.

Je dois créer différents dossiers dans le premier dossier, donc je ne peux pas les ajouter comme volumes. Je sais que je manque quelque chose. Je ne sais pas quoi!

Ceci est mon Dockerfilejuste au cas où:

FROM python:3.6

WORKDIR /app

COPY src/requirements.txt /app
RUN pip3 install -r /app/requirements.txt
COPY ./src /app
kederrac:

vous devez mapper vos volumes comme ceci:

- ./backups:/app/backups

parce que votre répertoire de travail est /app

ici ./backups/another-foldervous utilisez un chemin relatif , mais vous êtes à l' intérieur de /appsorte que votre chemin complet sera/app/backups/another-folder

Je suppose que tu aimes

Origine http://10.200.1.11:23101/article/api/json?id=406081&siteId=1
conseillé
Classement