Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save buzztaiki/cdf86d3966dfa40bc7d6595573e0cbe8 to your computer and use it in GitHub Desktop.
Save buzztaiki/cdf86d3966dfa40bc7d6595573e0cbe8 to your computer and use it in GitHub Desktop.
docker + ruby でボリュームをまたいだファイルのコピーがなんか変
% script='x1,x2,x3=xs=ARGV; xs.each {|x|FileUtils.rm_f(x)}; File.write(x1,"ok"); FileUtils.copy_file(x1,x2); FileUtils.copy_file(x2,x3); xs.each{|x|p File.read(x)}'

% docker run --rm -it -v "$PWD":/mnt ruby:2.7 ruby -rfileutils -e "$script" /mnt/1.txt /2.txt /mnt/3.txt
"ok"
"ok"
""
 
% docker run --rm -it -v "$PWD":/mnt ruby:2.7 ruby -rfileutils -e "$script" /mnt/1.txt /mnt/2.txt /mnt/3.txt
"ok"
"ok"
"ok"
 
% docker run --rm -it -v "$PWD":/mnt ruby:2.7 ruby -rfileutils -e "$script" /1.txt /2.txt /3.txt
"ok"
"ok"
"ok"
% uname -a
Linux echo 5.8.12-arch1-1 #1 SMP PREEMPT Sat, 26 Sep 2020 21:42:58 +0000 x86_64 GNU/Linux

% docker version
Client:
 Version:           19.03.13-ce
 API version:       1.40
 Go version:        go1.15.2
 Git commit:        4484c46d9d
 Built:             Sat Sep 26 12:04:46 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          19.03.13-ce
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.15.2
  Git commit:       4484c46d9d
  Built:            Sat Sep 26 12:03:35 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.1.m
  GitCommit:        c623d1b36f09f8ef6536a057bd658b3aa8632828.m
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
% docker run --rm -it -v "$PWD":/mnt ruby:2.7 findmnt
TARGET                           SOURCE                      FSTYPE  OPTIONS
/                                overlay                     overlay rw,relatime
├─/proc                          proc                        proc    rw,nosuid,n
│ ├─/proc/bus                    proc[/bus]                  proc    ro,relatime
│ ├─/proc/fs                     proc[/fs]                   proc    ro,relatime
│ ├─/proc/irq                    proc[/irq]                  proc    ro,relatime
│ ├─/proc/sys                    proc[/sys]                  proc    ro,relatime
│ ├─/proc/sysrq-trigger          proc[/sysrq-trigger]        proc    ro,relatime
│ ├─/proc/asound                 tmpfs                       tmpfs   ro,relatime
│ ├─/proc/acpi                   tmpfs                       tmpfs   ro,relatime
│ ├─/proc/kcore                  tmpfs[/null]                tmpfs   rw,nosuid,s
│ ├─/proc/keys                   tmpfs[/null]                tmpfs   rw,nosuid,s
│ ├─/proc/latency_stats          tmpfs[/null]                tmpfs   rw,nosuid,s
│ ├─/proc/timer_list             tmpfs[/null]                tmpfs   rw,nosuid,s
│ ├─/proc/sched_debug            tmpfs[/null]                tmpfs   rw,nosuid,s
│ └─/proc/scsi                   tmpfs                       tmpfs   ro,relatime
├─/dev                           tmpfs                       tmpfs   rw,nosuid,s
│ ├─/dev/console                 devpts[/0]                  devpts  rw,nosuid,n
│ ├─/dev/pts                     devpts                      devpts  rw,nosuid,n
│ ├─/dev/mqueue                  mqueue                      mqueue  rw,nosuid,n
│ └─/dev/shm                     shm                         tmpfs   rw,nosuid,n
├─/sys                           sysfs                       sysfs   ro,nosuid,n
│ ├─/sys/firmware                tmpfs                       tmpfs   ro,relatime
│ └─/sys/fs/cgroup               tmpfs                       tmpfs   rw,nosuid,n
│   ├─/sys/fs/cgroup/systemd     cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/blkio       cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/freezer     cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/cpuset      cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/net_cls,net_prio
│   │                            cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/hugetlb     cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/memory      cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/cpu,cpuacct cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/rdma        cgroup                      cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/devices     cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   ├─/sys/fs/cgroup/pids        cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│   │                                                        cgroup  ro,nosuid,n
│   └─/sys/fs/cgroup/perf_event  cgroup[/docker/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1]
│                                                            cgroup  ro,nosuid,n
├─/mnt                           /dev/nvme0n1p2[/home/taiki] ext4    rw,relatime
├─/etc/resolv.conf               /dev/nvme0n1p2[/var/lib/docker/containers/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1/resolv.conf]
│                                                            ext4    rw,relatime
├─/etc/hostname                  /dev/nvme0n1p2[/var/lib/docker/containers/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1/hostname]
│                                                            ext4    rw,relatime
└─/etc/hosts                     /dev/nvme0n1p2[/var/lib/docker/containers/bcf63a805a2feb88d6115eb09ca8dc4590d0827d4901237cdfb8ed43076914b1/hosts]
@buzztaiki
Copy link
Author

ruby-jp の #container あたりで聞いてみようかな。

@buzztaiki
Copy link
Author

docker/for-linux#1015 が同じ事象なのではないかという情報を得た。

@buzztaiki
Copy link
Author

docker/for-linux#1015 (comment) によると

とのこと。

,

@buzztaiki
Copy link
Author

docker/for-linux#1015 (comment) みたいに touch すると見えるようになるらしい。さもありなん。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment