[英]How can I set docker volume to directory in another computer? How can I grab data in different computer for jupyter running in docker container?
[英]Exporting files from docker volume to another directory
我有一個python代碼,它從文件中讀取數據並進行一些計算,然后將結果保存到輸出文件中。 該代碼還將日志保存在日志文件中。 因此,在當前目錄中,我有以下文件:
1. code.py --> The main python application
2. input.json --> This json file is used to take input data
3. output.json --> The output data is saved in this file.
4. logfile.log --> This file saves the log.
以上所有文件都在目錄Application
。 完整路徑為/home/user/Projects/Application/
。 現在,當我運行code.py
我得到了預期的結果。 所以我通過使用下面的Dockerfile
將上面的代碼轉換為Dockerfile
:
FROM python:3
ADD code.py /
ADD input.json /
ADD output.json /
ADD logfile.log /
CMD [ "python3", "./code.py" ]
當我運行Docker容器時,它運行良好,但是我看不到輸出數據並登錄到output.json
和logfile.log
。 然后,我在文件系統中搜索了這些文件,並在以下目錄中找到了這些文件:
/var/lib/docker/overlay2/7c237c143f9f2e711832daccecdfb29abaf1e37a4714f34f34870e0ee4b1af07/diff/home/user/Projects/Application/
而我所有的文件都在該目錄中。 我檢查了日志和數據,它在那里。 然后我知道所有文件都將保存在docker卷中,而不是當前目錄中。
有什么辦法可以將文件和所有數據保留在當前目錄/home/user/Projects/Application/
而不是docker中,因為這樣我可以輕松地檢查輸出。
謝謝
您可以嘗試按以下方式運行容器:[您可能不需要構建映像]
docker run --rm -v /home/user/Projects/Application/:/home/user/Projects/Application/ -d python:3 /home/user/Projects/Application/code.py
-v
; 在/ home / user / Projects / Application /將掛載本地文件夾綁定到您的容器中。
如果不需要,請隨意取出--rm
。
請確保將code.py
日志寫入/home/user/Projects/Application/logfile.log
要通過運行命令來驗證文件和文件夾是否不存在: docker run --rm -v /home/user/Projects/Application/:/home/user/Projects/Application/ -d python:3 sh
這將帶您進入終端,您可以列出文件並確保所需的文件和配置在其中。
這些文件位於docker overlay卷下,因為您沒有進行卷掛載。 為了克服這個問題,您可以修改Dockerfile使其類似於以下內容:
FROM python:3
RUN mkdir /app
ADD code.py /app
ADD input.json /app
ADD output.json /app
ADD logfile.log /app
WORKDIR /app
VOLUME /app
CMD [ "python3", "./code.py" ]
然后在docker run命令中,確保您傳遞此選項:
-v /home/user/Projects/Application:/app
有關容器選項的更多信息, 請訪問https://www.aquasec.com/wiki/display/containers/Docker+Containers 。
如果您使用的是docker compose,則需要添加:
volumes:
- /home/user/Projects/Application: /var/www/app
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.