• This repository has been archived on 16/Sep/2020
  • Stars
    star
    165
  • Rank 227,593 (Top 5 %)
  • Language
  • Created over 8 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿณ Docker Issues and Tips (aufs/overlay/btrfs..)

Docker Issues and Tips (aufs/overlay/btrfs..)

Picked up and categorized subjectively from https://github.com/docker/docker/issues. Comments and pull requests are welcome.

โฌœ = Open (maybe not up-to-date, please check the link by yourself!)

๐Ÿ”ณ = Mostly resolved (ditto, plus subjective)

โœ… = Resolved

Storage Drivers

AUFS

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #783 Cannot access to a directory due to a permission error ๐Ÿ˜ Medium ๐Ÿ˜ƒ Easy Expected AUFS behavior. dirperm1 mount option fixes this issue. Update the kernel (AUFS >= 2008xxxx?) and Docker daemon (>= 1.7) Confirm: `docker info
โœ… #18180 A process becomes a zombie and hangs up ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard(multiprocessor)
๐Ÿ˜ƒ Easy(uniprocessor)
Compatibility between the kernel and AUFS Update the kernel (AUFS >= 20160111) Java apps and MongoDB are known to be affected
โœ… #20199 fcntl(F_SETFL, O_APPEND) is ignored and hence data can be corrupted ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy AUFS bug Update the kernel (AUFS >= 20160301) Dovecot is known to be affected
โœ… #20240 Weird permission even though dirperm1 is enabled ๐Ÿ˜ Medium ๐Ÿ˜ฑ Hard AUFS bug Update the kernel (AUFS >= 20160905)
โฌœ AUFS ML 2016-03-08 Hang up related to O_DIRECT ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Unanalyzed None Percona is known to be affected
โฌœ #24309 Unable to remove files previously committed ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Unanalyzed This article seems related, but perhaps slightly different(Japanese)
๐Ÿ”ณ #34361 AUFS + XFS hangs up ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy AUFS bug Update AUFS

Non-bug issues:

Overlay

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #10180 RPMDB corruption ๐Ÿ˜ฑ High ๐Ÿ˜ Medium Expected overlay behavior Use yum-{utils,plugins-ovl}-1.1.31-33.el7 (included in RHEL 7.2) or later. Kernel patch is also available. Linux 4.6 or later prints human-friendly dmesg
โœ… #12080 Cannot use UNIX domain sockets ๐Ÿ˜ Medium ๐Ÿ˜ƒ Easy Overlay Bug Use Linux 4.7-rc4 or later
โœ… #12327 pip fails ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Overlay Bug Use Linux 4.5 or later
โœ… #19082 Weird behavior after removing the current directory ๐Ÿ˜ƒ Low ๐Ÿ˜ƒ Easy Overlay Bug Use Linux 4.5 or later
๐Ÿ”ณ #19647, coreos/bugs#1095 Untar fails intermittently ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard Overlay Bug Use Linux 4.13 with OVERLAY_FS_INDEX=y Analysis is in progress in coreos/bugs#1095
โฌœ #20640 Container cannot be started ๐Ÿ˜ Medium ๐Ÿ˜ฑ Hard Unanalyzed None Possibly identical to #16902
โœ… #20950 /dev/console: operation not permitted ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Kernel Bug Use recent Linux kernels
โœ… #21555 docker build fails intermittently (overlay1) ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard DiffDriver bug Use Docker 1.13 or later Overlay2 doesn't have this issue by design
โœ… #24913 permissions broken after chown ๐Ÿ˜ Medium ๐Ÿ˜ƒ Easy Overlay Bug Use Linux 4.6 or later The overlay2 issue #28391 is due to the identical bug
โœ… #25244 opaque flag not reset after directory copy up ๐Ÿ˜ Medium ๐Ÿ˜ƒ Easy Overlay Bug Resolved in Linux 4.8 and backported to 4.4.21 and 4.7.4 npm is known to be affected
โœ… machine#3327 chmod fails with EPERM ๐Ÿ˜ƒ Low ๐Ÿ˜ƒ Easy Overlay Bug Use Linux 4.5 or later
โœ…#27358 file removal weird on overlay + XFS (ftype=0) ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Expected behavior Format xfs with ftype=1
โœ…#34320 docker build produces weird images with CONFIG_OVERLAY_FS_REDIRECT_DIR=y ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy DiffDriver issue Apply #34342 (Docker 17.08?)

Non-bug issues:

AUFS / Overlay common

Non-bug issue: rename(2) is not fully supported #25409

reports about the incompatible behavior of rename(2) from the real world

Software Report
Apache Kudu https://issues.apache.org/jira/browse/KUDU-1419
CernVM-FS https://sft.its.cern.ch/jira/browse/CVM-651
GPG moby/moby#26317
NPM npm/npm#9863
Samba https://bugzilla.samba.org/show_bug.cgi?id=9966

BtrFS

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #19073 sendfile(2) can be unkillable ๐Ÿ˜ƒ Low ๐Ÿ˜ƒ Easy BtrFS bug None Not likely to happen in production, but needs consideration for public PaaS
โฌœ #20080 cgroups kmem limit leads crash and data corruption ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy? Btrfs bug Avoid kmem limit configuration?

Non-bug issues:

ZFS

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #20153 Some operations fail due to EBUSY ๐Ÿ˜ Medium ๐Ÿ˜ Medium Daemon bug Update Docker daemon

Non-bug issues:

DeviceMapper

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #4036 Mount fails ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy udev sync disabled Use a Docker daemon binary which supports udev sync Confirm: `docker info
โฌœ #20401 Infinite โ€œmount/remountโ€ loop, which makes the system unresponsive ๐Ÿ˜ฑ High ๐Ÿ˜ฑ High Unanalyzed (perhaps related to XFS) None

Non-bug issues:

Storage driver test tool

So which storage driver should I use?

It totally depends on your workload, but Docker, Inc. says AUFS and Devicemapper (direct-lvm) are "production-ready".

https://github.com/docker/docker/blob/master/docs/userguide/storagedriver/selectadriver.md#future-proofing

driver-pros-and-cons.png

Although not listed in the above table, VFS driver is also attractive for its robustness.

Links:

Anyway...

You know, containers should be "immutable" and "disposable".

For persistent data and some special temporary data, you should better consider using an external volume (docker run -v).

Links:

Network

Issue Abstract Impact Reproducibility Cause Solution Notes
๐Ÿ”ณ #5618 hang up with unregister_netdevice: waiting for lo to become free ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard Kernel bug Use Linux 4.8 or later The patch will be backported to old kernels in major distros
โœ… #18776 TCP checksums are ignored ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard Kernel bug Use Linux 4.4 or later blog

Logging

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #19209 GELF driver saturates CPU ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Compression Disable compression
โœ… #18057,#20600 cat /dev/zero leads to out of memory ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy logger's stdio handling issue Use Docker 1.13 or later (or just disable the logging) Related: #21181
โฌœ #22497 container cannot be stopped if many logs are being printed ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard logger's stdio handling issue
โœ… #22502 logging blocks the container ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy logger's stdio handling issue Use Docker 1.11 or later affected versions: 1.10.0

Others

Issue Abstract Impact Reproducibility Cause Solution Notes
โœ… #17720 Docker daemon 1.9 serious performance issue ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard ? Use Docker 1.10
โฌœ #19758 soft lockup related to show_mountinfo(), after frequent docker run ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard Unanalyzed (Kernel bug related to the number of processors?) None
โœ… #20670 /dev/pts unmounted on the HOST when you are using -v /dev:/dev (After that you can no longer open SSH nor xterm) ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy daemon bug related to mount namespace Use Docker 1.11.1. (Or Spawn the docker daemon from systemd. Or do not use -v /dev:/dev)
โœ… #20836 Daemon hangs up after frequent docker run ๐Ÿ˜ฑ High ๐Ÿ˜ฑ Hard Daemon bug Use Docker 1.11.1
โœ… #28936 Strange permission issues with named containers on 1.12.3 ๐Ÿ˜ฑ High ๐Ÿ˜ƒ Easy Daemon bug related to SELinux) Use Docker 1.12.4
โœ… Ubuntu linux-azure #1719045 fatal error: unaligned sysUnused on Azure ๐Ÿ˜ฑ High ? Ubuntu linux-azure kernel bug Use linux-azure 4.11.0-1013.13 or later

Non-bug issues:

  • docker ps is sometimes slow due to lock: #19328 (Mitigated in Docker 17.07, #31273
  • EBUSY on docker rm in Linux < 3.19: #26510

More Repositories

1

lsf

Linux Subsystem for FreeBSD (๐Ÿ˜ˆ onย ๐Ÿง)
Go
168
star
2

containerized-systemd

Dockerfile examples for containerized systemd (mainly for test environments)
Shell
121
star
3

apt-transport-oci

OCI transport plugin for apt-get (i.e., apt-get over ghcr.io)
Go
101
star
4

go-netfilter-queue

Go bindings for libnetfilter_queue (Forked from openshift/geard)
Go
89
star
5

buildbench

benchmark tool for Docker, BuildKit, img, Buildah, and Kaniko
Shell
77
star
6

aspectgo

Aspect-Oriented Programming framework for Go
Go
65
star
7

myaot

Succeeded by https://github.com/yomaytk/elfconv
Go
34
star
8

vexllm

silence negligible CVE alerts using LLM
Go
26
star
9

instance-per-pod

Create a dedicated IaaS instance per Pod to mitigate container breakout (including CPU vulnerabilities depending on the instance type)
Go
22
star
10

filegrain

transport-agnostic, fine-grained content-addressable container image layout
Go
22
star
11

nac

Not A Container, for macOS
C
20
star
12

clone3-workaround

Workaround for running ubuntu:21.10, fedora:35, and other glibc >= 2.34 distros on Docker <= 20.10.9
Go
19
star
13

go-dag

Minimalistic DAG utility with concurrent scheduler
Go
18
star
14

yamlctl

An experimental tool to modify YAMLs without losing (most of) comment lines.
Go
16
star
15

moby-snapshot

Binary snapshot of Moby (irregularly updated)
Shell
15
star
16

ntimes

โŒš time(1) with average time, flaky rate, ..
Go
13
star
17

awesome-swarm

[OUTDATED] ๐Ÿณ ๐Ÿณ ๐Ÿณ A curated list of Swarm (Docker >=1.12) resources and projects
12
star
18

go-replay

record-less semi-deterministic replayer for Go programs
Go
11
star
19

cni-isolation

CNI Bridge Isolation Plugin (Merged into the firewall plugin v1.1.0)
Go
9
star
20

AkihiroSuda

Profile page for https://github.com/AkihiroSuda
8
star
21

podman-network-create-for-rootless-podman

`podman network create` for Rootless Podman
Dockerfile
3
star
22

passt-mirror

Mirror of https://passt.top/passt/ . Pull requests are not accepted here.
C
3
star
23

go-wrap-to-percent-w

convert `Wrap(err, "foo")` to `Errorf("foo: %w", err)`
Go
3
star
24

test18180

Checker for docker/docker#18180
Shell
3
star
25

multidocker

๐Ÿณ ๐Ÿณ ๐Ÿณ Multiple Docker daemons on a single machine
Go
3
star
26

go-docker-machine

Go binding for Docker Machine
Go
2
star
27

securebind-docker

recursive read-only bind-mount for Docker
Go
2
star
28

critest-rootless-cgroup2

critest example (rootless+cgroup2)
Shell
2
star
29

go-list-func

List up functions in a Go package
Go
1
star
30

anbox-android-images-mirror

Mirror of https://build.anbox.io/android-images
1
star
31

dind-ovs-ryu-pipework-superpack.BAK

Docker-in-Docker + OVS + ryu + pipework Superpack (MOVED to osrg/dockerfiles)
Shell
1
star
32

x-sys-unix-auto-eintr

golang.org/x/sys/unix with automatic EINTR handler
Go
1
star
33

z42

0๏ธโƒฃ Zeroconf (mDNS) for Amazon EC2
Python
1
star
34

MicroEarthquake.BAK

๐ŸŒ reproduces flaky bugs by fuzzing process scheduling
Python
1
star
35

go-linuxsched

Go binding for sched_setattr(2) and sched_getattr(2)
Go
1
star