LoginSignup
11

More than 5 years have passed since last update.

Dockerでoverlayfs使おうっていったけど…

Last updated at Posted at 2015-08-06

Docker×overlayfs最強!

ココでいってましたが。

_人人人人人人人人人人人人人人_
> コンテナが起動できない! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

[root@~]# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock     shipyard/deploy start
Pulling image: shipyard/rethinkdb
Starting Rethinkdb Data
error creating shipyard rethinkdb data container: 500 Internal Server Error: mkdir /var/lib/docker/overlay/fc25305836b9a8c28e373a060b4f6b0f3f3212c3d22579cb7c63d38db964304b-init/merged/dev/shm: invalid argument

なんだこれー

現在進行形のバグでした

docker run fails with "invalid argument" when using overlay driver on top of xfs
XFS上でoverlayを使用した時にdocker runがinvalid argumentで失敗する

overlay+xfsで使用すると発生の可能性があるようです。

理由は?

It is nothing magical, just that xfs does not support RENAME_WHITEOUT and RENAME_EXCHANGE. 

不思議じゃない、ただXFSが「RENAME_WHITEOUT」と「RENAME_EXCHANGE」をサポートしていないだけだ。

なんのことかよくわかりません…。
とりあえず、xfs+overlayfsは避けたほうが良さそうです。

ext4にしてみる

[root@awcikc0a ~]# docker info
Containers: 1
Images: 20
Storage Driver: overlay
 Backing Filesystem: extfs

ダメだった

error creating shipyard rethinkdb data container: 500 Internal Server Error: mkdir /var/lib/docker/overlay/5653806c7445a5f0f319a380101e4d9ac3d599ee8a1b1be71be71defacbf5f24-init/merged/dev/shm: invalid argument

ext3にしてみる

ダメだった

RHEL7.1の公式ではoverlayのbackend filesystemとしてext3~4とXFSしかサポートしていないので、overlayはいまのところ見送りになりそうです。

btrfsを試す

[root@~ /]# mkfs -t btrfs -f /dev/mapper/docker-lvol0
[root@~ /]# mount /dev/mapper/docker-lvol0 /var/lib/docker

[root@~ /]# vi /etc/sysconfig/docker

=======================================================
OPTIONS='--selinux-enabled -s btrfs -g /var/lib/docker'
=======================================================

[root@~/]# systemctl start docker
[root@~/]# docker info
Containers: 0
Images: 0
Storage Driver: btrfs
Execution Driver: native-0.2
Kernel Version: 3.10.0-229.7.2.el7.x86_64
Operating System: Red Hat Enterprise Linux


[root@~]# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock     shipyard/deploy start
Pulling image: shipyard/rethinkdb

5d3903bdef390ec2afb5bb1a7a0538ef040f45f8da77f1e9e9e41f5e1ef1bd35

こいつは、行けた…!!
とりあえずbtrfsを使おう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11