【发布时间】:2019-08-08 04:15:45
【问题描述】:
我正在尝试使用 Ruby dockerized 编写一个新文件。我可以在写入文件后读取文件,但只是在容器内。我试图创建一个卷并将文件保存在其中,但我做错了,因为数据文件夹总是空的。
这是我的 Dockerfile:
RUN mkdir /data
VOLUME data data
COPY hello.rb .
ENTRYPOINT ["ruby", "hello.rb"]
这里是 hello.rb
File.open("./data/out.txt", "a+") do |line|
puts "hola"
line.puts "\r" + "write your stuff here"
end
File.open("./data/out.txt").each do |line|
puts "aloha"
puts line
end
File.write("./data/log.txt", "data...", mode: "a")
File.open("./data/log.txt").each do |line|
puts "aloha"
puts line
end
运行后:
$ docker build -t file-writer .
$ docker run -it file-writer
控制台的输出是:
hola
aloha
write your stuff here
aloha
data...
但是“本地”数据文件夹仍然是空的。
【问题讨论】:
-
我删除了
ruby标签,因为您的问题真的与此无关。问题都是关于docker,所以我把它标记为这样。
标签: docker dockerfile docker-volume