ディストリビューションに基づくほとんどの画像には、画像内に/tmp
というディレクトリがあります。これは、Dockerが使用するように設定されているストレージドライバを使用します。
$ docker run -ti frolvlad/alpine-oraclejdk8:slim \
time dd if=/dev/zero of=/tmp/zero bs=4k count=64k
32768+0 records in
32768+0 records out
real 0m 0.84s
user 0m 0.00s
sys 0m 0.11s
マウントtmpfsのに書き込むことができ
$ docker run -ti frolvlad/alpine-oraclejdk8:slim ls -ld /tmp
drwxrwxrwt 2 root root 4096 Oct 18 18:58 /tmp
ではなく、メモリ/ tmpに
$ docker run -ti --tmpfs /tmp frolvlad/alpine-oraclejdk8:slim \
time dd if=/dev/zero of=/tmp/zero bs=4k count=64k
65536+0 records in
65536+0 records out
real 0m 0.13s
user 0m 0.01s
sys 0m 0.12s
追加し、あなたはそれから読み書きすることができるはずです(異なる高山に基づきます画像)
docker run -ti --tmpfs /tmp mhart/alpine-node node -e '
fs.writeFile(`/tmp/test`, `test`, (err, res) => {
console.log(`write`, err, res)
fs.readFile(`/tmp/test`, (err, data) => console.log(`read`, err, data))
})'
null undefined
null <Buffer 74 65 73 74>
「ディレクトリはすでに存在しています」というエラーをどのように受け取っているのかよく分かりません。
別のDockerホストで同じことを試みることはありますか?最新のfrolvlad/alpine-oraclejdk8:slim
を引き出しますか?