{"action":"closed","issue":{"url":"https://api.github.com/repos/docker/docker/issues/17357","labels_url":"https://api.github.com/repos/docker/docker/issues/17357/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/17357/comments","events_url":"https://api.github.com/repos/docker/docker/issues/17357/events","html_url":"https://github.com/docker/docker/issues/17357","id":113282231,"number":17357,"title":"Whiteout issue between btrfs and ext4","user":{"login":"kenny1986","id":7865811,"avatar_url":"https://avatars.githubusercontent.com/u/7865811?v=3","gravatar_id":"","url":"https://api.github.com/users/kenny1986","html_url":"https://github.com/kenny1986","followers_url":"https://api.github.com/users/kenny1986/followers","following_url":"https://api.github.com/users/kenny1986/following{/other_user}","gists_url":"https://api.github.com/users/kenny1986/gists{/gist_id}","starred_url":"https://api.github.com/users/kenny1986/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenny1986/subscriptions","organizations_url":"https://api.github.com/users/kenny1986/orgs","repos_url":"https://api.github.com/users/kenny1986/repos","events_url":"https://api.github.com/users/kenny1986/events{/privacy}","received_events_url":"https://api.github.com/users/kenny1986/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/area/storage/btrfs","name":"area/storage/btrfs","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-26T04:09:38Z","updated_at":"2015-10-28T17:24:26Z","closed_at":"2015-10-28T17:24:26Z","body":"I found this when using the `php:5-apache` official image. When building an image on btrfs, the image contains an extra `index.html` file in the `/var/www/html/` directory, while there is no such file on a normal ubuntu host with ext4\r\n\r\nOn a ubuntu host with btrfs:\r\n\r\n```\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ cat /etc/default/docker\r\n# Docker Upstart and SysVinit configuration file\r\n# Customize location of Docker binary (especially for development testing).\r\n#DOCKER=\"/usr/local/bin/docker\"\r\n# Use DOCKER_OPTS to modify the daemon startup options.\r\n#DOCKER_OPTS=\"-s btrfs --dns 8.8.8.8 --dns 8.8.4.4\"\r\n# If you need Docker to use an HTTP proxy, it can also be specified here.\r\n#export http_proxy=\"http://127.0.0.1:3128/\"\r\n# This is also a handy place to tweak where Docker's temporary files go.\r\n#export TMPDIR=\"/mnt/bigdrive/docker-tmp\"\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ df -T\r\nFilesystem     Type     1K-blocks   Used Available Use% Mounted on\r\n/dev/xvda1     ext4       8115168 855152   6824740  12% /\r\nnone           tmpfs            4      0         4   0% /sys/fs/cgroup\r\nudev           devtmpfs    503188     12    503176   1% /dev\r\ntmpfs          tmpfs       101632    340    101292   1% /run\r\nnone           tmpfs         5120      0      5120   0% /run/lock\r\nnone           tmpfs       508144      0    508144   0% /run/shm\r\nnone           tmpfs       102400      0    102400   0% /run/user\r\n/dev/xvdb      btrfs      8388608 575040   7058528   8% /var/lib/docker\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ docker pull php:5-apache\r\n5-apache: Pulling from library/php\r\n7a42f1433a16: Already exists \r\n3d88cbf54477: Already exists \r\n34edc74878ac: Already exists \r\n4e3cc2f6d768: Already exists \r\n022ec6897309: Already exists \r\nfb0c542d0e8d: Already exists \r\n76af60700c50: Already exists \r\n3bb902950e8c: Already exists \r\n7291266aac96: Already exists \r\n7439976e699e: Already exists \r\nbe4d0249c6b2: Already exists \r\n4468017d46fa: Already exists \r\n04383a2eed1e: Already exists \r\na8a5e32d28de: Already exists \r\nd54d520e7edc: Already exists \r\na0a83488b6c3: Already exists \r\n69986cdd6a31: Already exists \r\n709f63e6ba7b: Already exists \r\nf7349be4b93d: Already exists \r\nd1353bf6e2ba: Already exists \r\n7ab917c221ac: Already exists \r\n3faa65935529: Already exists \r\nDigest: sha256:be76d2c4dfa6f79ffbaebbfb47f3ec7e60fd29f83e692e4b3fe76ef852168c23\r\nStatus: Image is up to date for php:5-apache\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ docker run php:5-apache ls -la\r\ntotal 12\r\ndrwxr-xr-x 1 www-data www-data    20 Oct 21 00:31 .\r\ndrwxr-xr-x 1 root     root         8 Oct 21 00:31 ..\r\n-rw-r--r-- 1 root     root     11104 Oct 21 00:31 index.html\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ docker version\r\nClient:\r\n Version:      1.8.3\r\n API version:  1.20\r\n Go version:   go1.4.2\r\n Git commit:   f4bf5c7\r\n Built:        Mon Oct 12 05:37:18 UTC 2015\r\n OS/Arch:      linux/amd64\r\nServer:\r\n Version:      1.8.3\r\n API version:  1.20\r\n Go version:   go1.4.2\r\n Git commit:   f4bf5c7\r\n Built:        Mon Oct 12 05:37:18 UTC 2015\r\n OS/Arch:      linux/amd64\r\nubuntu@ip-172-31-31-207:/var/lib/docker$ \r\n```\r\n\r\nOn a ubuntu host with ext4:\r\n```\r\nvagrant@vagrant-ubuntu-trusty-64:~$ cat /etc/default/docker\r\n# Docker Upstart and SysVinit configuration file\r\n# Customize location of Docker binary (especially for development testing).\r\n#DOCKER=\"/usr/local/bin/docker\"\r\n# Use DOCKER_OPTS to modify the daemon startup options.\r\n#DOCKER_OPTS=\"--dns 8.8.8.8 --dns 8.8.4.4\"\r\n# If you need Docker to use an HTTP proxy, it can also be specified here.\r\n#export http_proxy=\"http://127.0.0.1:3128/\"\r\n# This is also a handy place to tweak where Docker's temporary files go.\r\n#export TMPDIR=\"/mnt/bigdrive/docker-tmp\"\r\nvagrant@vagrant-ubuntu-trusty-64:~$ df -T\r\nFilesystem     Type     1K-blocks    Used Available Use% Mounted on\r\n/dev/sda1      ext4      41251136 9874404  29640820  25% /\r\nnone           tmpfs            4       0         4   0% /sys/fs/cgroup\r\nudev           devtmpfs    237356      12    237344   1% /dev\r\ntmpfs          tmpfs        50176     336     49840   1% /run\r\nnone           tmpfs         5120       0      5120   0% /run/lock\r\nnone           tmpfs       250868       0    250868   0% /run/shm\r\nnone           tmpfs       102400       0    102400   0% /run/user\r\nvagrant@vagrant-ubuntu-trusty-64:~$ docker pull php:5-apache\r\n5-apache: Pulling from library/php\r\ne2a4fb18da48: Already exists \r\n58016a5acc80: Already exists \r\n927bb1e1227e: Already exists \r\n57f1a83d5202: Already exists \r\ne2f53f6703fb: Already exists \r\nd64f7cf5254c: Already exists \r\n111bb74b535b: Already exists \r\n189346d9f444: Already exists \r\n283a82a1ed7b: Already exists \r\nf430e74d68ff: Already exists \r\n11e215a8b8f2: Already exists \r\nf0ec0ad99787: Already exists \r\n74108b8f486e: Already exists \r\n8c31b4985b7b: Already exists \r\n723cc6be15f3: Already exists \r\n01203a3c7069: Already exists \r\n458b965428fe: Already exists \r\n50be39ed5ba9: Already exists \r\n3f926f31509c: Already exists \r\n8d5fa0e7e8a6: Already exists \r\ndb71b861bdbd: Already exists \r\n0448546e1b12: Already exists \r\nDigest: sha256:be76d2c4dfa6f79ffbaebbfb47f3ec7e60fd29f83e692e4b3fe76ef852168c23\r\nStatus: Image is up to date for php:5-apache\r\nvagrant@vagrant-ubuntu-trusty-64:~$ docker run php:5-apache ls -la\r\ntotal 8\r\ndrwxr-xr-x 2 www-data www-data 4096 Oct 21 00:31 .\r\ndrwxr-xr-x 4 root     root     4096 Oct 21 00:31 ..\r\nvagrant@vagrant-ubuntu-trusty-64:~$ docker version\r\nClient:\r\n Version:      1.8.2\r\n API version:  1.20\r\n Go version:   go1.4.2\r\n Git commit:   0a8c2e3\r\n Built:        Thu Sep 10 19:19:00 UTC 2015\r\n OS/Arch:      linux/amd64\r\nServer:\r\n Version:      1.8.2\r\n API version:  1.20\r\n Go version:   go1.4.2\r\n Git commit:   0a8c2e3\r\n Built:        Thu Sep 10 19:19:00 UTC 2015\r\n OS/Arch:      linux/amd64\r\nvagrant@vagrant-ubuntu-trusty-64:~$ \r\n```\r\n\r\n"}}