想知道如何从docker容器内部创建文件。
例如,在this项目中,我旨在创建一个文本文件。我确认该过程已完成,但是没有txt文件。
scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
get 'online_bookings/availability_overview'
namespace :api, defaults: { format: :json } do
namespace :v1 do
resources :shops, only: [ :show ]
end
end
我在做什么错了?
答案 0 :(得分:2)
在主机和运行于其上的容器之间共享文件的最有效方法是使用卷装载。保持此类卷的不同很方便。
为了论证:
假设您位于项目的根目录下,mkdir ./data
将在与./src
文件夹相同的目录下创建目录。
将您的代码(以证明观点)更改为open("/aha/example.txt","w+")
。 NB 是,/aha
不是/data
...继续阅读。
运行容器,并将主机(!)./data
挂载到容器中,方式为./aha
:docker run --interactive --tty --volume=${PWD}/data:/aha ...
。 NB 这会将主机的${PWD}/data
作为目录/aha
装入容器。您必须使用的IIRC必须使用${PWD}
提供绝对路径
Python代码完成后,容器中将包含一个名为/aha/example.txt
的文件,并且您的主机(!)应包含一个名为${PWD}/data/example.txt
的文件