Git Product home page Git Product logo

akihirosuda-docker-issues's Introduction

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

Picked up and categorized subjectively. Comments and pull requests are welcome.

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) Especially Java apps and MongoDB are affected
⬜ #20199 fcntl(F_SETFL, O_APPEND) is ignored and hence data can be corrupted 😱 High πŸ˜ƒ Easy AUFS bug None (Workaround: patch) Especially Dovecot is affected
⬜ #20240 Weird permission even though dirperm1 is enabled 😐 Medium 😱 Hard Unanalyzed None

Non-bug issues:

  • AUFS is not available in the mainline kernel.Only a few distros (Ubuntu, Boot2Docker, ..) support AUFS, but even for Ubuntu, Canonical says "AUFS will disappear".

Overlay

Issue Abstract Impact Reproducibility Cause Solution Notes
⬜ #10180 File corruption 😱 High 😱 Hard Unanalyzed None Especially RPMs are affected
⬜ #12080 Cannot use UNIX domain sockets 😐 Medium πŸ˜ƒ Easy Overlay Bug None (Workaround: patch)
⬜ #19082 Weird behavior after removing the current directory πŸ˜ƒ Low πŸ˜ƒ Easy Overlay Bug None (Workaround: patch)
⬜ #19647 Untar fails intermittently 😱 High 😱 Hard Unanalyzed (Overlay bug related to symbolic links?) None
⬜ #19758 Daemon hangs up after frequent docker run 😱 High 😱 Hard Unanalyzed (Overlay bug related to the number of processors?) None

Non-bug issues:

  • 😱 High inode usage
  • Red Hat says OverlayFS is Tech Preview

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
⬜ #5684 Cannot restart containers after restaring the daemon 😱 High πŸ˜ƒ Easy Unanalyzed None
⬜ #20401 Infinite β€œmount/remount” loop, which makes the system unresponsive 😱 High 😱 High Unanalyzed (perhaps related to XFS) None

Non-bug issues:

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
⬜ #18776 TCP checksums are ignored 😱 High 😱 Hard Kernel bug Update the kernel blog

akihirosuda-docker-issues's People

Contributors

akihirosuda avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.