アレックス・ジョリグ:
私はバックアップ私のMongoDBのデータへのドッキングウィンドウのコンテナとして動作している小規模なプロジェクトを持っています。バックアップデータは、ドッキングウィンドウのホストマシンに保存すると仮定です。だから私は使用していますvolume
でdocker-compose
ファイル:
version: '3'
services:
mongo_backup:
container_name: mongo_backup
build: .
command: python3 app.py
volumes:
- ./backups:/backups
私はこのコードを実行すると、名前のフォルダがbackups
ホストマシンでのプロジェクトフォルダ内に作成されます。
if not os.path.exists('./backups/'):
os.mkdir('./backups/')
私は内部で別のフォルダを作成しようとする。しかし./backups/
、フォルダ、何もエラーなしで起こりません。
if not os.path.exists('./backups/another-folder'):
os.mkdir('./backups/another-folder')
2番目のフォルダは、ドッキングウィンドウコンテナ内で作成されますが、何もホストマシンの内部で起こりません。
問題は、書き込み権限に関連している場合には、私は、全体のプロジェクトフォルダのフルアクセス権を設定しました:
sudo chmod -R 777 address/to/project/
しかし、それは助けにはなりませんでした。
私のようにそれらをすべて追加することはできませんので、私は、最初のフォルダ内の別のフォルダを作成する必要がありますvolume
の。私は何かが欠けています知っています。私はちょうどかわかりません!
これは私であるDockerfile
場合だけ:
FROM python:3.6
WORKDIR /app
COPY src/requirements.txt /app
RUN pip3 install -r /app/requirements.txt
COPY ./src /app
kederrac:
あなたはこのようなあなたのボリュームをマッピングする必要があります。
- ./backups:/app/backups
あなたの作業ディレクトリがあるので、 /app
ここでは./backups/another-folder
相対パスを使用しているが、あなたは内部のもので/app
、あなたの完全なパスがされるので、/app/backups/another-folder