Tengo un pequeño proyecto que se ejecuta como un contenedor ventana acoplable a los datos de copia de seguridad de mi MongoDB. los datos de copia de seguridad se supone que debe guardar en el ordenador central estibador. Así que estoy usando volume
en el docker-compose
archivo:
version: '3'
services:
mongo_backup:
container_name: mongo_backup
build: .
command: python3 app.py
volumes:
- ./backups:/backups
Cuando ejecuta este código, una carpeta llamada backups
se crea en la carpeta del proyecto en el ordenador central.
if not os.path.exists('./backups/'):
os.mkdir('./backups/')
Pero cuando trato de crear otra carpeta dentro de la ./backups/
carpeta, no pasa nada sin errores.
if not os.path.exists('./backups/another-folder'):
os.mkdir('./backups/another-folder')
La segunda carpeta se crea en el interior del contenedor de cargador de muelle, pero no pasa nada dentro de la máquina host.
He establecido el acceso completo a toda la carpeta del proyecto en caso de que el problema está relacionado con permisos de escritura:
sudo chmod -R 777 address/to/project/
Pero no sirvió de nada.
Necesito crear diferentes carpetas en la primera carpeta, así que no puedo añadir a todos ellos como volume
s. Sé que me falta algo. Sólo que no sé qué!
Este es mi Dockerfile
por si acaso:
FROM python:3.6
WORKDIR /app
COPY src/requirements.txt /app
RUN pip3 install -r /app/requirements.txt
COPY ./src /app
usted tiene que asignar los volúmenes de esta manera:
- ./backups:/app/backups
debido a que su directorio de trabajo es /app
Aquí ./backups/another-folder
está utilizando ruta relativa, pero que están dentro de /app
lo que su ruta completa será/app/backups/another-folder