Moby: Docker 1.9.1์ด "ca-certificates-java ์„ค์ •"๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ ์ค‘๋‹จ๋จ

์— ๋งŒ๋“  2015๋…„ 11์›” 24์ผ  ยท  258์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moby/moby

์‚ฌ๋ฌด์‹ค์—์žˆ๋Š” ์šฐ๋ฆฌ ์ค‘ ์ผ๋ถ€๋Š” Docker 1.9.1์ด ์ง€์›ํ•˜๋Š” ์ตœ์‹  ๋ฒ„์ „์˜ Docker ๋„๊ตฌ ์ƒ์ž๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์œผ๋ฉฐ ์•„๋ž˜ ๋นŒ๋“œ ์ถœ๋ ฅ์— ๋”ฐ๋ผ ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

docker version :

```ํด๋ผ์ด์–ธํŠธ :
๋ฒ„์ „ : 1.9.1
API ๋ฒ„์ „ : 1.21
Go ๋ฒ„์ „ : go1.4.3
ํž˜๋‚ด ์ปค๋ฐ‹ : a34a1d5
๋‚ด์žฅ : Fri Nov 20 17:56:04 UTC 2015
OS / ์•„์น˜ : darwin / amd64

์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ:
๋ฒ„์ „ : 1.9.1
API ๋ฒ„์ „ : 1.21
Go ๋ฒ„์ „ : go1.4.3
ํž˜๋‚ด ์ปค๋ฐ‹ : a34a1d5
๋‚ด์žฅ : Fri Nov 20 17:56:04 UTC 2015
OS / ์•„์น˜ : linux / amd64

`docker info`: 

์ปจํ…Œ์ด๋„ˆ : 10
์ด๋ฏธ์ง€ : 57
์„œ๋ฒ„ ๋ฒ„์ „ : 1.9.1
์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„ : aufs
๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ : / mnt / sda1 / var / lib / docker / aufs
๋ฐฑ์—… ํŒŒ์ผ ์‹œ์Šคํ…œ : extfs
Dirs : 77
Dirperm1 ์ง€์› : true
์‹คํ–‰ ๋“œ๋ผ์ด๋ฒ„ : native-0.2
๋กœ๊น… ๋“œ๋ผ์ด๋ฒ„ : json-file
์ปค๋„ ๋ฒ„์ „ : 4.1.13-boot2docker
์šด์˜ ์ฒด์ œ : Boot2Docker 1.9.1 (TCL 6.4.1); master : cef800b-Fri Nov 20 19:33:59 UTC 2015
CPU : 1
์ด ๋ฉ”๋ชจ๋ฆฌ : 1.956GiB
์ด๋ฆ„ : vbootstrap-vm
ID : LLM6 : CASZ : KOD3 : 646A : XPRK : PIVB : VGJ5 : JSDB : ZKAN : OUC4 : E2AK : FFTC
๋””๋ฒ„๊ทธ ๋ชจ๋“œ (์„œ๋ฒ„) : true
ํŒŒ์ผ ์„ค๋ช…์ž : 13
๊ณ  ๋ฃจํ‹ด : 18
์‹œ์Šคํ…œ ์‹œ๊ฐ„ : 2015-11-24T02 : 03 : 35.597772191Z
EventsListeners : 0
SHA1 ์ดˆ๊ธฐํ™” :
์ดˆ๊ธฐํ™” ๊ฒฝ๋กœ : / usr / local / bin / docker
Docker ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ : / mnt / sda1 / var / lib / docker
๋ผ๋ฒจ :
provider = virtualbox

`uname -a`: 

Darwin JRedl-MB-Pro.local 15.0.0 Darwin Kernel ๋ฒ„์ „ 15.0.0 : Sat Sep 19 15:53:46 PDT 2015; ๋ฃจํŠธ : xnu-3247.10.11 ~ 1 / RELEASE_X86_64 x86_64

Here is a snippet from the docker build uppet that hangs on the Setting up ca-certificates-java line. Something to do with the latest version of docker and openjdk?

``` bash
update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode
update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Setting up ca-certificates-java (20140324) ...

Docker ํŒŒ์ผ ์˜ˆ :

FROM gcr.io/google_appengine/base

# Prepare the image.
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y -qq --no-install-recommends build-essential wget curl unzip python python-dev php5-mysql php5-cli php5-cgi openjdk-7-jre-headless openssh-client python-openssl && apt-get clean

Docker 1.9.0 ๋˜๋Š” Docker Toolbox 1.9.0d์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹˜์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ƒˆ ๋ฒ„์ „ ๋‚ด์—์„œ ์ผ์ข…์˜ ํšŒ๊ท€์ฒ˜๋Ÿผ ๋Š๊ปด์ง‘๋‹ˆ๋‹ค.

arekernel kinbug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฐ๋น„์•ˆ์ด์ด ๋ฌธ์ œ๋ฅผ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..).
AUFS๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปค๋„์„ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ AUFS v20160111 ์ด์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. |
| Boot2Docker | : white_check_mark : v1.10.0 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : white_check_mark : ์ปค๋„์„ 3.13.0-79.123 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : white_check_mark : ์ปค๋„์„ 3.19.0-51.57 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.10 | : white_check_mark : ์ปค๋„์„ 4.2.0-30.35 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7 | : white_check_mark : ์ปค๋„์„ 3.2.73-2 + deb7u3 (linux-image-3.2.0-4-amd64 ํŒจํ‚ค์ง€) ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 8 | : white_check_mark : ์ปค๋„์„ 3.16.7-ckt20-1 + deb8u4 (linux-image-3.16.0-4-amd64 ํŒจํ‚ค์ง€) ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_check_mark : ๋‹ซํž˜ | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | : white_check_mark : ๋‹ซํž˜ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

๋ชจ๋“  258 ๋Œ“๊ธ€

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์‚ฌ ์ค‘์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋„ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉด ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, Docker 1.9์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1.8.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ–ˆ๊ณ  ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์กฐ์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค! Tks

๋„์ปค 1.9.1a์™€ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„์ปค 1.8.3์ด ์žˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์˜ ๋„์ปค๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์ด ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. @bsao.

๋„์ปค ๋ฒ„์ „ 1.9.1์—์„œ ์ด์™€ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด a34a1d5 ๋นŒ๋“œ

boot2docker์—์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

aufs๊ฐ€์žˆ๋Š” ์žฌ๊ณ  ์šฐ๋ถ„ํˆฌ ๋˜๋Š” ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฑฐ๊ธฐ์— repo๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด boot2docker๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

OSX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ubuntu : 14.10 ์šฉ Docker 1.9.1์˜ +1

์ด๊ฒƒ์€ ์—…๋ฌด์šฉ VPN์„ ์ผ  ํ›„์— ๋‚˜ํƒ€๋‚˜๊ธฐ ์‹œ์ž‘ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. VPN์„ ๋„๊ณ  OSX์—์„œ ๋„์ปค ๋จธ์‹ ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ํ›„์—๋„์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Docker 1.9.1์„ ๋‹ค์‹œ ์„ค์น˜ ํ•œ ๋‹ค์Œ 1.8.3์„ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Mac์—์„œ ๋ชจ๋“  ๋„ํ‚น ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

OS X 10.11์„ ์‚ฌ์šฉํ•˜๋Š” ubuntu 12.04 ์šฉ Docker 1.9.1์˜ +1

์ œ ์‚ฌ๋ฌด์‹ค์˜ ๊ฐœ๋ฐœ์ž๋“ค๋„์ด ๋ฌธ์ œ๋ฅผ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „ / ๋นŒ๋“œ ๋Š” ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค : Docker ๋ฒ„์ „ 1.9.0, ๋นŒ๋“œ 76d6bc9

์ด ๋ฒ„์ „ / ๋นŒ๋“œ ์ค‘๋‹จ : Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5

@crosbymichael ๋ถˆํ–‰ํžˆ๋„

git-bisecting ๋ฐ docker์— ๋Œ€ํ•œ ๋…ธํ•˜์šฐ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์€ @ chico1198์—์„œ ์ œ๊ณตํ•˜๋Š” ๋นŒ๋“œ ID๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

OSX El Capitan์—์„œ 1.9.1์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•ด๋„ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

OSX 10.9.3์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5
Docker ๋ฒ„์ „ 1.9.0, ๋นŒ๋“œ 76d6bc9

@crosbymichael boot2docker์— ๋กœ๊ทธ์ธํ•˜๊ณ  ps auxf . ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ๋ณธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

root      1290  0.4  1.8 1346656 75692 ?       Sl   Nov27   4:53 /usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 [...]
root      8556  0.0  0.0      0     0 ?        Ss   05:12   0:00  \_ [sh]
root     24221 99.8  0.0      0     0 ?        Zl   05:33  64:17  |   \_ [java] <defunct>
root     24657  0.0  0.0      0     0 ?        Ss   06:07   0:00  \_ [sh]
root      6174 79.6  0.0      0     0 ?        Zl   06:22  12:33      \_ [java] <defunct>
root      7295 49.3  0.0      0     0 ?        Zl   06:32   2:49      \_ [java] <defunct>

OSX 10.11์—์„œ docker 1.9.1๋กœ +1ํ•˜๊ณ  ์šฐ๋ถ„ํˆฌ 14.04์—์„œ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ๋„

+1
DockerToolbox-1.9.1a.pkg

docker version                                                                                      2 master?
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64

Docker 1.8.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ผ์‹œ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‚ด Makefile ์—์„œ ์‚ฌ์šฉํ•˜๋Š” target Makefile ์ž…๋‹ˆ๋‹ค.

downgrade-docker:
  docker-machine ssh $(DOCKER_MACHINE_NAME) sudo /etc/init.d/docker stop
  docker-machine ssh $(DOCKER_MACHINE_NAME) "while sudo /etc/init.d/docker status ; do sleep 1; done"
  docker-machine ssh $(DOCKER_MACHINE_NAME) "sudo curl 'https://get.docker.com/builds/Linux/x86_64/docker-1.8.3' -o /usr/local/bin/docker-1.8.3"
  docker-machine ssh $(DOCKER_MACHINE_NAME) "sudo ln -sf /usr/local/bin/docker-1.8.3 /usr/local/bin/docker"
  # FIXME: Starting machine is not enough; always fails with message like "Need TLS certs for 127.0.0.1,10.0.2.15,192.168.99.100"
  #docker-machine ssh $(DOCKER_MACHINE_NAME) sudo /etc/init.d/docker start
  docker-machine stop $(DOCKER_MACHINE_NAME) 
  docker-machine start $(DOCKER_MACHINE_NAME) 

๋‚˜๋Š” ์ด๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ํ•ญ์ƒ "์ธ์ฆ์„œ ์„ค์ •"์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๊นŒ? ํŒŒ์ดํ”„๋ฅผ ๋‹ซ๊ธฐ ์œ„ํ•ด ^D ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ? SIGUSR1 ์„ ๋ฐ๋ชฌ์— ๋ณด๋‚ด๊ณ  ์Šคํƒ ์ถ”์ ์ด ๋ฉˆ์ท„์„ ๋•Œ ์—ฌ๊ธฐ์— ๋ถ™์—ฌ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๊นŒ?

OS X 10.10์—์„œ docker 1.9.1 ์‚ฌ์šฉ์‹œ +1

@osterman ์˜ Makefile์„ ์‚ฌ์šฉํ•˜์—ฌ 1.8.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์œผ๋ฉฐ SSH ํ‚ค์—๋„ ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ip-10-100-0-211:docker-dev leaf$ docker-machine start default
(default) OUT | Starting VM...
Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded

debian : jessie ๋ฐ ubuntu ๋‚ด๋ถ€์— ๋‹ค๋ฅธ openjdk ์„ค์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค
OSX 10.11.1, boot2docker 1.9.1 : ์ •์ง€
OSX 10.11.1, boot2docker 1.9.0 : ์ž‘๋™
Docker 1.9.1์ด ํฌํ•จ ๋œ Ubuntu 14.04 : ์ž‘๋™

boot2docker vms๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
docker-machine create -d virtualbox --virtualbox-boot2docker-url = https://github.com/boot2docker/boot2docker/releases/download/v1.9.0/boot2docker.iso
๊ณผ
docker-machine create -d virtualbox --virtualbox-boot2docker-url = https://github.com/boot2docker/boot2docker/releases/download/v1.9.1/boot2docker.iso

Ubuntu 14.04์—์„œ docker๋Š” https://docs.docker.com/engine/installation/ubuntulinux/ ์˜ ์„ค๋ช…์„œ์— ๋”ฐ๋ผ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

+1, OSX Yosemite 10.10.5์—์„œ docker 1.9.1 ๋นŒ๋“œ a34a1d5๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Windows์—์„œ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ง์ ‘ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/docker/docker/releases

+1, ๋„์ปค 1.9.1 @ El Capitan

+1, OS X 10.11.1์˜ Docker 1.9.1

+1, Docker 1.9.1a, OS X 10.10.5

+1, Docker 1.9.1 ๋นŒ๋“œ a34a1d5, Windows 10

+1, Docker 1.9.1 ๋นŒ๋“œ a34a1d5, OS X 10.11.1, Docker-Machine 0.5.1 ๋นŒ๋“œ 7e8e38e

+1

OSX 10.11.1์˜ Docker-machine์—์„œ ๋™์ผ
Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5
docker-machine ๋ฒ„์ „ 0.5.1 (HEAD)

๋‚˜๋Š” ์ด๊ฒƒ์„ docker-machine, OS X 10.10.5์—์„œ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ boot2docker์™€ ๊ด€๋ จ๋œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. docker top ๋Š” Java ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด <defunct> ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

docker top dreamy_sammet                                                                  Tue Dec  1 15:58:47 2015
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                2538                1023                0                   14:44               ?                   00:00:00            /bin/sh -c apt-get update && apt-get install -y -qq --no-install-recommends build-essential wget curl unzip python python-dev php5-mysql php5-cli php5-cgi openjdk-7-jre-headless openssh-client python-openssl && apt-get clean
root                2566                2538                1                   14:44               ?                   00:00:16            apt-get install -y -qq --no-install-recommends build-essential wget curl unzip python python-dev php5-mysql php5-cli php5-cgi openjdk-7-jre-headless openssh-client python-openssl
root                4830                2566                0                   14:46               pts/0               00:00:00            /usr/bin/dpkg --status-fd 14 --configure libgdbm3:amd64 libjson-c2:amd64 libbsd0:amd64 libedit2:amd64 libkeyutils1:amd64 libkrb5support0:amd64 libk5crypto3:amd64 libkrb5-3:amd64 libgssapi-krb5-2:amd64 libidn11:amd64 libsasl2-modules-db:amd64 libsasl2-2:amd64 libldap-2.4-2:amd64 libmagic1:amd64 libsqlite3-0:amd64 libwrap0:amd64 libxml2:amd64 perl-modules:all perl:amd64 mime-support:all libexpat1:amd64 libpython2.7-stdlib:amd64 python2.7:amd64 libpython-stdlib:amd64 python:amd64 libasan1:amd64 libasyncns0:amd64 libatomic1:amd64 libavahi-common-data:amd64 libavahi-common3:amd64 libdbus-1-3:amd64 libavahi-client3:amd64 libcilkrts5:amd64 libisl10:amd64 libcloog-isl4:amd64 libcups2:amd64 librtmp1:amd64 libssh2-1:amd64 libcurl3:amd64 libogg0:amd64 libflac8:amd64 libpng12-0:amd64 libfreetype6:amd64 ucf:all fonts-dejavu-core:all fontconfig-config:all libfontconfig1:amd64 libglib2.0-0:amd64 libgomp1:amd64 x11-common:all libice6:amd64 libicu52:amd64 libitm1:amd64 liblcms2-2:amd64 liblsan0:amd64 libmpfr4:amd64 mysql-common:all libmysqlclient18:amd64 libnspr4:amd64 libnss3:amd64 libonig2:amd64 libpcsclite1:amd64 libsm6:amd64 libvorbis0a:amd64 libvorbisenc2:amd64 libsndfile1:amd64 libxau6:amd64 libxdmcp6:amd64 libxcb1:amd64 libx11-data:all libx11-6:amd64 libx11-xcb1:amd64 libxext6:amd64 libxi6:amd64 libxtst6:amd64 libpulse0:amd64 libpython2.7:amd64 libc-dev-bin:amd64 linux-libc-dev:amd64 libc6-dev:amd64 libexpat1-dev:amd64 libpython2.7-dev:amd64 libquadmath0:amd64 libsctp1:amd64 libtsan0:amd64 libubsan0:amd64 tzdata-java:all java-common:all libjpeg62-turbo:amd64 ca-certificates-java:all openjdk-7-jre-headless:amd64 libmpc3:amd64 libpsl0:amd64 wget:amd64 bzip2:amd64 libperl4-corelibs-perl:all lsof:amd64 openssh-client:amd64 patch:amd64 xz-utils:amd64 binutils:amd64 cpp-4.9:amd64 cpp:amd64 libgcc-4.9-dev:amd64 gcc-4.9:amd64 gcc:amd64 libstdc++-4.9-dev:amd64 g++-4.9:amd64 g++:amd64 make:amd64 libtimedate-perl:all libdpkg-perl:all dpkg-dev:all build-essential:amd64 curl:amd64 libpython-dev:amd64 libqdbm14:amd64 psmisc:amd64 php5-common:amd64 php5-json:amd64 php5-cli:amd64 php5-cgi:amd64 php5-mysql:amd64 python-ply:all python-pycparser:all python-cffi:amd64 python-pkg-resources:all python-six:all python-cryptography:amd64 python2.7-dev:amd64 python-dev:amd64 python-openssl:all unzip:amd64
root                6711                4830                0                   14:46               pts/0               00:00:00            /bin/bash /var/lib/dpkg/info/ca-certificates-java.postinst configure
root                6725                6711                97                  14:46               pts/0               00:12:25            [java] <defunct>

/ cc @tianon @nathanleclaire @jeffdm ์•„๋งˆ๋„ ์—ฌ๋Ÿฌ๋ถ„ ์ค‘ ๋ˆ„๊ตฌ๋ผ๋„ ์–ด๋””๋ฅผ ๋ณด๊ฑฐ๋‚˜ ๋ฌด์—‡์„ ๋””๋ฒ„๊น…ํ•ด์•ผํ• ์ง€ ์ƒ๊ฐํ•˜๊ณ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

VM์—๋Š” ์–ผ๋งˆ๋‚˜ ๋งŽ์€ RAM์ด ์žˆ์Šต๋‹ˆ๊นŒ? OOM์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. :์‹ค๋งํ•œ:

๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ <defunct> ํ”„๋กœ์„ธ์Šค๋Š” 100 % CPU๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

CONTAINER           CPU %               MEM USAGE / LIMIT   MEM %               NET I/O               BLOCK I/O
d263da116bfd        99.51%              689.3 MB / 2.1 GB   32.82%              157.9 MB / 2.754 MB   25.15 MB / 130.4 MB

์ปจํ…Œ์ด๋„ˆ๋„ ๋ฉˆ์ถ˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ VM์„ ์žฌ๋ถ€ํŒ…ํ•˜์—ฌ ์ฃฝ์—ฌ์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

+1 Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5, Win 7

stats ๋ช…๋ น์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ‘œ์‹œํ•˜๋”๋ผ๋„ OOM์œผ๋กœ ํŒ๋ช… ๋œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ž‘์—… ๊ด€๋ฆฌ์ž๊ฐ€ 0 ๊ฐœ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ‘œ์‹œ ํ•œ ์งํ›„์— ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ํ†ต๊ณ„๋Š” ๊ณ„์† <100 %๋ฅผ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒํ•œ ์ ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณ„์† ์‹คํ–‰๋˜์–ด ์ฃฝ์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. -m์œผ๋กœ ์žฌ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๊ฒƒ์ด 1.9.x์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒํ•˜์ง€๋งŒ (์ด ๋…ผ์˜์— ๋”ฐ๋ผ) 1.8์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ 1GB DigitalOcean ๋“œ๋กญ ๋ฆฟ (1.9.1)์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ทธ ์‚ฌ๋žŒ์ด ์Šค์™‘์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

1.9.1์„ ์ œ๊ฑฐํ•˜๊ณ  1.8.3์„ ์„ค์น˜ ํ•œ ํ›„์—๋„ ์‹ค์ œ๋กœ ๊ณ„์† ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ssh ํ‚ค ๋ฐ ํ•ญ๋ชฉ์„ ์„ค์ •ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ฒซ ๋ฒˆ์งธ ์‹คํ–‰๊ณผ ๋‹ฌ๋ฆฌ 1.8.3์—์„œ ์…ธ์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Mac์—์„œ๋Š” ์ œ๊ฑฐ๊ฐ€ ๋งค์šฐ ์ฒ ์ €ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

_USER POLL_

_์ด ํ† ๋ก ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด์žˆ์„ ๋•Œ ์•Œ๋ฆผ์„๋ฐ›๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ ๊ตฌ๋… ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ._

์•„๋ž˜์— ๋‚˜์—ด๋œ ์‚ฌ๋žŒ๋“ค์€ ๋ฌด์ž‘์œ„ +1๋กœ ์˜๋ฏธ์žˆ๋Š” ํ† ๋ก ์— ๊ฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

@mattes

31 ๋ช…์˜ ์ฐธ๊ฐ€์ž๊ฐ€์ด ๋ฌธ์ œ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@ bean5 ๊ท€ํ•˜์˜ ์˜๊ฒฌ์„ ๊ฑด์„ค์ ์œผ๋กœ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค.

@thaJeztah ์ €๋Š” ๊ธฐ๋ถ„์„ ์ƒํ•˜๊ฒŒํ•˜๊ฑฐ๋‚˜ ํ•ด์ฒดํ•˜๋ ค๋Š” ์˜๋„๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ GitHub์˜ ์‡ผ ์ˆ˜๊ฐ€ ์ฐธ์—ฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๊ด€์‹ฌ์„ ๋Œ๊ธฐ ์œ„ํ•ด ๋ง์€ ... ๋‚˜๋Š” @GordonTheTurtle์ด ํ•œ ์ผ์„ ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋ชฉ๋ก์„ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๋ชจ์˜€๋‹ค. ๊ทธ๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”์— ํ˜ผ๋ž€ ์Šค๋Ÿฌ์› ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ ํ•œ ๋ฒˆ ์ด์ƒ ์ €์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์ณค ๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ๋ฅผ ํฐ ๊ธฐ๋Œ€๋ฅผ ๊ฐ€์ง€๊ณ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๊ฐ€์žˆ์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

๋‚ด ์„ค์ •์—์„œ์ด ๋ฌธ์ œ๋ฅผ ๋ณต์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (Mac์—์„œ Docker Machine ์‚ฌ์šฉ).

์ง€๊ธˆ๊นŒ์ง€ ๋ฐœ๊ฒฌ ํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ํฌ์Šคํ„ฐ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด์ด๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ AUFS์™€ ํ•จ๊ป˜ boot2docker 1.9.1 ISO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด Dockerfile ๋Š” ๋ฌธ์ œ๋ฅผ ์ƒ๋‹นํžˆ ๋น ๋ฅด๊ฒŒ ์žฌํ˜„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

FROM debian:jessie

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends openjdk-7-jre-headless

dmesg ๋ฅผ ๋ณด๋ฉด ์ด๋Ÿฌํ•œ ๋นŒ๋“œ๋ฅผ ์‹œ๋„ํ•œ ํ›„ ๋ช‡ ๊ฐ€์ง€ AUFS ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€๋งŒ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ 100 % ํ™•์‹  ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

docker<strong i="13">@default</strong>:~$ dmesg | tail
aufs au_opts_verify:1597:docker[14186]: dirperm1 breaks the protection by the permission bits on the lower branch
aufs au_opts_verify:1597:docker[14186]: dirperm1 breaks the protection by the permission bits on the lower branch
aufs au_opts_verify:1597:docker[14186]: dirperm1 breaks the protection by the permission bits on the lower branch
device veth955cc15 entered promiscuous mode
IPv6: ADDRCONF(NETDEV_UP): veth955cc15: link is not ready
eth0: renamed from vethc63e038
IPv6: ADDRCONF(NETDEV_CHANGE): veth955cc15: link becomes ready
docker0: port 2(veth955cc15) entered forwarding state
docker0: port 2(veth955cc15) entered forwarding state
docker0: port 2(veth955cc15) entered forwarding state

overlay ๋ฅผ ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„๋กœ ์‚ฌ์šฉํ•˜๋Š” Docker 1.9.1 ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ :

$ docker-machine create -d virtualbox --engine-storage-driver overlay overlay

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ ์ด ์ค„์ด ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค! AUFS ๋ฐ / ๋˜๋Š” ์ปค๋„์ด ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

boot2docker / boot2docker _did_ 1.9.1 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ปค๋„ ๋ฒ„์ „๊ณผ AUFS ์ปค๋ฐ‹์„ ๋ชจ๋‘ ๋ฒ”ํ”„ํ•˜๋ฏ€๋กœ ๋‘˜ ๋‹ค ๋ฐฐ์ œํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ์กฐ์‚ฌํ•ด์•ผํ•˜๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ 1.9.1 ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ 1.9.0 ISO๋ฅผ ์‹œ๋„ํ•˜์—ฌ ์ž ์žฌ์  ์ธ ๋ฒ„๊ทธ ์˜์—ญ์˜ ํ‘œ๋ฉด์ ์„ ๋” ์ค„์ผ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Dockerfile์€ ์ž˜ ๋นŒ๋“œ๋˜๊ณ  Docker 1.9.1 ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€์žˆ๋Š” boot2docker 1.9.0 ISO์—์„œ ์ค‘๋‹จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Docker 1.9.1์—์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์‹คํ–‰์ค‘์ธ ํ™˜๊ฒฝ์—์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

aufs์—์„œ ๋ฌธ์ œ๊ฐ€์—†๋Š” 1.9.1 ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ ์ปดํ“จํ„ฐ ๊ตฌ์„ฑ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋งŽ์€ cpu / ram / storage๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ VM์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 4GB๋กœ ๋Š˜๋ฆฌ๋ ค ๊ณ ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ boot2docker 1.9.1์˜

์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด b2d๋Š” ๋งค์šฐ ํŠน์ •ํ•œ AUFS ๋ฒ„์ „์„ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋„ค

Containers: 13
Images: 191
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 221
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.13-boot2docker
Operating System: Boot2Docker 1.9.1 (TCL 6.4.1); master : cef800b - Fri Nov 20 19:33:59 UTC 2015
CPUs: 1
Total Memory: 3.859 GiB
Name: default
ID: XMQH:4YAW:ZDSA:OWC7:GAPC:US5P:YQ4M:SVMQ:VXNL:RRZC:YNHT:ZBHE
Debug mode (server): true
 File Descriptors: 12
 Goroutines: 19
 System Time: 2015-12-01T23:05:28.760107918Z
 EventsListeners: 0
 Init SHA1:
 Init Path: /usr/local/bin/docker
 Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
 provider=virtualbox

๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ผ๋ถ€ Java ํ”„๋กœ์„ธ์Šค๊ฐ€ ์†Œ๋ฉธ๋˜๋Š” ๊ฒƒ์„ ๋ด…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

docker run --rm -it myJavaContainerFromCentos7 bash

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ Foo.java๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

class Foo {
    public static void main (String[] a) {
        System.out.println("hello world");
    }
}

์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด 100 % cpu๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”์–ด 1 ๊ฐœ๊ฐ€ ํฌํ•จ ๋œ Java ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
javac Foo.java && java Foo

๊ทธ๋Ÿฌ๋‚˜ ... System.exit(0); ๊ฐ€ println ํ›„์— ์ถ”๊ฐ€๋˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค.

class Foo {
    public static void main (String[] a) {
        System.out.println("hello world");
        System.exit(0);  // clean exit, no hang
    }
}

๋ฒ„์ „ ์ •๋ณด :
OSX 10.10.3
๋„์ปค 1.9.1
boot2docker ๋ฒ„์ „ 1.9.1 uname -a๋Š” "linux ci 4.1.13-boot2docker"์ž…๋‹ˆ๋‹ค.
numproc = 1

System.exit (0)์„ ์‚ฌ์šฉํ•œ strace ์ถœ๋ ฅ

open("/usr/java/jdk1.7.0_75/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=677, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f27b1dab000
read(3, "# Copyright (c) 2003, Oracle and"..., 4096) = 677
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f27b1dab000, 4096)            = 0
stat("/usr/java/jdk1.7.0_75/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0755, st_size=15224066, ...}) = 0
futex(0x7f27b17580d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/java/jdk1.7.0_75/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\245\36\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15224066, ...}) = 0
mmap(NULL, 15167976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f27b031c000
mprotect(0x7f27b0e8f000, 2097152, PROT_NONE) = 0
mmap(0x7f27b108f000, 802816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb73000) = 0x7f27b108f000
mmap(0x7f27b1153000, 262632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f27b1153000
close(3)                                = 0
open("/usr/java/jdk1.7.0_75/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=11922, ...}) = 0
mmap(NULL, 11922, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f27b1da9000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260T\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1141552, ...}) = 0
mmap(NULL, 3150168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f27b001a000
mprotect(0x7f27b011b000, 2093056, PROT_NONE) = 0
mmap(0x7f27b031a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x7f27b031a000
close(3)                                = 0
mprotect(0x7f27b031a000, 4096, PROT_READ) = 0
munmap(0x7f27b1da9000, 11922)           = 0
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f27b1ca4000
mprotect(0x7f27b1ca4000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f27b1da3fb0,                                                                                                    flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,  parent_tidptr=0x7f27b1da49d0, tls=0x7f27b1da4700, child_tidptr=0x7f27b1da49d0) = 118
futex(0x7f27b1da49d0, FUTEX_WAIT, 118, NULLhellowerld
 <unfinished ...>
 +++ exited with 0 +++

strace ์ถœ๋ ฅ _without_ System.exit (0);

open("/usr/java/jdk1.7.0_75/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=677, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac9a490000
read(3, "# Copyright (c) 2003, Oracle and"..., 4096) = 677
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7fac9a490000, 4096)            = 0
stat("/usr/java/jdk1.7.0_75/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0755, st_size=15224066, ...}) = 0
futex(0x7fac99e3d0d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/java/jdk1.7.0_75/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\245\36\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15224066, ...}) = 0
mmap(NULL, 15167976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fac98a01000
mprotect(0x7fac99574000, 2097152, PROT_NONE) = 0
mmap(0x7fac99774000, 802816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb73000) = 0x7fac99774000
mmap(0x7fac99838000, 262632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fac99838000
close(3)                                = 0
open("/usr/java/jdk1.7.0_75/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=11922, ...}) = 0
mmap(NULL, 11922, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fac9a48e000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260T\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1141552, ...}) = 0
mmap(NULL, 3150168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fac986ff000
mprotect(0x7fac98800000, 2093056, PROT_NONE) = 0
mmap(0x7fac989ff000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x7fac989ff000
close(3)                                = 0
mprotect(0x7fac989ff000, 4096, PROT_READ) = 0
munmap(0x7fac9a48e000, 11922)           = 0
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fac9a389000
mprotect(0x7fac9a389000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fac9a488fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fac9a4899d0, tls=0x7fac9a489700, child_tidptr=0x7fac9a4899d0) = 142
futex(0x7fac9a4899d0, FUTEX_WAIT, 142, NULLhellowerld
) = 0
exit_group(0)                           = ?

์ด์ œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์ง€๋งŒ ์ปจํ…Œ์ด๋„ˆ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

docker exec -it myContainer bash

๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 23:47 ?        00:00:00 bash
root       138     1  0 23:51 ?        00:00:00 strace java Foo
root       141   138 24 23:51 ?        00:01:21 [java] <defunct>
root       151     0  1 23:57 ?        00:00:00 bash
root       167   151  0 23:57 ?        00:00:00 ps -ef

๋น ๋ฅธ ํ†ต๊ณ„๋ณด๊ธฐ :

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
myContainer                  24.72%              64.18 MB / 8.365 GB   0.77%               11.09 MB / 202.6 kB   8.192 kB / 14.99

1.8.3์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

+1, Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5, OS X

+1, Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5, OS X 10.10.5, Docker ๋จธ์‹  ๋ฒ„์ „ : 0.5.1 (HEAD)

+1

Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ a34a1d5 , OS X 10.11.1 (15B42)

+1

Docker ๋ฒ„์ „ 1.9.1, OS X 10.11.1์—์„œ a34a1d5 ๋นŒ๋“œ

์ด ๋ฌธ์ œ๋Š” ์ •๋ง ๊ธฐ์ดํ•ฉ๋‹ˆ๋‹ค. strace ์‹คํŒจํ•œ apt-get ๋ช…๋ น์˜ ๊ฒฝ์šฐ ์ถœ๋ ฅ์˜ ๋์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

stat("/etc/apt/sources.list", {st_mode=S_IFREG|0644, st_size=161, ...}) = 0
open("/etc/apt/sources.list", O_RDONLY) = 5
read(5, "deb http://httpredir.debian.org/"..., 8191) = 161
pipe([6, 7])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fc6fc88aa10) = 14
close(7)                                = 0
fcntl(6, F_GETFL)                       = 0 (flags O_RDONLY)
fstat(6, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6fc892000
lseek(6, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
read(6, Process 14 attached
 <unfinished ...>
[pid    14] rt_sigaction(SIGPIPE, {SIG_DFL, [PIPE], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, 8) = 0
[pid    14] rt_sigaction(SIGQUIT, {SIG_DFL, [QUIT], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {SIG_DFL, [], 0}, 8) = 0
[pid    14] rt_sigaction(SIGINT, {SIG_DFL, [INT], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {SIG_DFL, [], 0}, 8) = 0
[pid    14] rt_sigaction(SIGWINCH, {SIG_DFL, [WINCH], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {0x7fc6fc0e5750, [WINCH], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, 8) = 0
[pid    14] rt_sigaction(SIGCONT, {SIG_DFL, [CONT], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {SIG_DFL, [], 0}, 8) = 0
[pid    14] rt_sigaction(SIGTSTP, {SIG_DFL, [TSTP], SA_RESTORER|SA_RESTART, 0x7fc6fb531180}, {SIG_DFL, [], 0}, 8) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(3, F_SETFD, FD_CLOEXEC) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(4, F_SETFD, FD_CLOEXEC) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(5, F_SETFD, FD_CLOEXEC) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(6, F_SETFD, FD_CLOEXEC) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(7, F_SETFD, FD_CLOEXEC) = 0
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(8, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(9, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(10, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)
[pid    14] getrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
[pid    14] fcntl(11, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)

(์ž˜๋ชป๋œ ํŒŒ์ผ ์„ค๋ช…์ž) ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋ฌดํ•œ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ.

              Specifies a value one greater than the maximum file descriptor
              number that can be opened by this process.  Attempts (open(2),
              pipe(2), dup(2), etc.)  to exceed this limit yield the error
              EMFILE.  (Historically, this limit was named RLIMIT_OFILE on
              BSD.)

SIGPIPE๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ๋ช…์‹œ์ ์ธ "System.exit (0);"์—†์ด ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ ๋ฐœํ•˜๋Š” Java "hello world"๋ฅผ ๋ณธ ์ด์ „ ๊ฒŒ์‹œ๋ฌผ๊ณผ ์ผ์น˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์•„๋‹ˆ๋ฉด ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ฌธ์ œ ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Œ์— ๋Œ€ํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

๋ฌดํ•œ ๋ฐ˜๋ณตํ•˜๋Š” ๋™์•ˆ CPU๋Š” ์–ด๋–ป๊ฒŒ๋ฉ๋‹ˆ๊นŒ?

@andrewgdavis 100 %์ž…๋‹ˆ๋‹ค

screen shot 2015-12-03 at 3 55 36 pm

java "hello world"๋Š” ๋ช…์‹œ์ ์ธ "System.exit (0);"์—†์ด ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ํ™•์‹คํžˆ ์—ฌ๊ธฐ์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

b2d ๋ฌธ์ œ๋ฅผ ํ™•์‹คํžˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์‹ฌ์ง€์–ด 4.1.13 ์ปค๋„ ๋ฒ”ํ”„์— ๋Œ€ํ•ด ๊ฐ€์žฅ ๊ธ์ •์ ์œผ๋กœ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด bisect๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค). 4.2.6์—์„œ๋„ b2d๋กœ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ผฌ์ž„์œผ๋กœ, ์ œ Gentoo ํ˜ธ์ŠคํŠธ๋Š” ํ˜„์žฌ 4.1.13 + AUFS ํŒจ์น˜์— ์žˆ์œผ๋ฉฐ, ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ b2d ๊ด€๋ จ ํ•ญ๋ชฉ์„ ํ™•์‹คํžˆ ๋ฐฐ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

4.1.12์™€ 4.1.13 ์‚ฌ์ด์˜ ์ปค๋ฐ‹์„ ํƒ์ƒ‰ํ•˜์—ฌ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜์žˆ๋Š” ํ•ญ๋ชฉ์ด ํŠ€์–ด ๋‚˜์˜ค๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

(์˜ˆ : https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.13)

๋„ค, ์ปค๋„ 4.1.12 => 4.1.13์—์„œ ๋ญ”๊ฐ€ ๊นจ์กŒ์Šต๋‹ˆ๋‹ค. ์ „์ž์— ๋Œ€ํ•ด boot2docker ISO๋ฅผ ๊ตฝ๋Š” ๊ฒƒ์ด์ด ๋ฒ„๊ทธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ „์ž๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ boot2docker์™€ ํŠน๋ณ„ํžˆ ๊ด€๋ จ์ด ์—†์ง€๋งŒ AUFS์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์ปค๋„ ๋ฒ„์ „๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜๋Š” Docker์˜ AUFS ๋“œ๋ผ์ด๋ฒ„๊ฐ€
์ตœ์‹  ์ปค๋„-TBD, ์•„๋งˆ๋„ 4.1.12 ์‚ฌ์ด์˜ Linux ์•ˆ์ • git bisect ํฌํ•จ
๋ฐ 4.1.13 : ์™ธ์นจ :

๋จธ๋ฆฌ์— ๋จธ๋ฆฌ๋ฅผ ์“ฐ๋Š” ์ด๋ก ์ด ์žˆ์–ด์š” ...

http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.1.13&id=6c0da28df5dac10672efe955eb89051a850008eb

์œ„ ์ปค๋ฐ‹์€ filemap.c๋ฅผ generic_perform_write (struct file * file, struct iov_iter * i, loff_t pos)๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” ์ฃผ์„์ด ๊ต์ฐฉ ์ƒํƒœ์™€ ๋ผ์ด๋ธŒ ๋ก ๊ฒฝํ•ฉ ์กฐ๊ฑด์„ ๋ชจ๋‘ ์„ค๋ช…ํ•˜๊ณ  CPU๊ฐ€ 100 %๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ์ธ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์€ ์ฝ”๋“œ ๋ฉ์–ด๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋‚˜์™€ ๋‚˜์˜ ๊ฒฐ๋ก  ๋งคํŠธ์ž…๋‹ˆ๋‹ค.

4.1.13mm / filemap.c # l_2448

...
 2448 again:
 2449       /*
 2450        * Bring in the user page that we will copy from _first_.
 2451        * Otherwise there's a nasty deadlock on copying from the
 2452        * same page as we're writing to, without it being marked
 2453        * up-to-date.
 2454        *
 2455        * Not only is this an optimisation, but it is also required
 2456        * to check that the address is actually valid, when atomic
 2457        * usercopies are used, below.
 2458        */
 2459       if (unlikely(iov_iter_fault_in_readable(i, bytes))) {
 2460           status = -EFAULT;
 2461           break;
 2462       }
 2463 
 2464       if (fatal_signal_pending(current)) {
 2465           status = -EINTR;
 2466           break;
 2467       }
 2468 
 2469       status = a_ops->write_begin(file, mapping, pos, bytes, flags,
 2470                       &page, &fsdata);
 2471       if (unlikely(status < 0))
 2472           break;
 2473 
 2474       if (mapping_writably_mapped(mapping))
 2475           flush_dcache_page(page);
 2476 
 2477       copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes);
 2478       flush_dcache_page(page);
 2479 
 2480       status = a_ops->write_end(file, mapping, pos, bytes, copied,
 2481                       page, fsdata);
 2482       if (unlikely(status < 0))
 2483           break;
 2484       copied = status;
 2485 
 2486       cond_resched();
 2487 
 2488       iov_iter_advance(i, copied);
 2489       if (unlikely(copied == 0)) {
 2490           /*
 2491            * If we were unable to copy any data at all, we must
 2492            * fall back to a single segment length write.
 2493            *
 2494            * If we didn't fallback here, we could livelock
 2495            * because not all segments in the iov can be copied at
 2496            * once without a pagefault.
 2497            */
 2498           bytes = min_t(unsigned long, PAGE_CACHE_SIZE - offset,
 2499                       iov_iter_single_seg_count(i));
 2500           goto again;
 2501       }
 2502       pos += copied;
 2503       written += copied;
 2504 
 2505       balance_dirty_pages_ratelimited(mapping);
 2506   } while (iov_iter_count(i));

@andrewgdavis ํ•˜๋‚˜๋Š” ํŠน์ • ํ…Œ์ŠคํŠธ ํฌ์ธํŠธ๋กœ git bisect ๋™์•ˆ ํ•ด๋‹น ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

mongodb ์ข…๋ฃŒ ํ•  ๋•Œ ์œ ์‚ฌํ•œ ์ค‘๋‹จ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 1.9.x์— ํ™•์‹คํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 1.8.x์—๋Š” ์—†์Šต๋‹ˆ๋‹ค.

docker-machine VM์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 1024MB์—์„œ 2048MB๋กœ ๋Š˜๋ฆฌ๊ณ  CPU 1 ๊ฐœ ๋Œ€์‹  2 ๊ฐœ๋ฅผ ํ• ๋‹นํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณต์žฅ:

VM : Ubuntu 14.04 (2GB RAM)
Docker ์—”์ง„ : 1.9.1
Docker ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ : ubuntu : latest

์ž‘๋™ํ•˜์ง€ ์•Š์Œ :

VM : Ubuntu 15.10 (2GB RAM)
Docker ์—”์ง„ : 1.9.1,1.9.0,1.8.3
Docker ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ : ubuntu : latest , ubuntu : 14.04

@marsinvasion ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ๋œ ๋‘ ์‹œ์Šคํ…œ์—์„œ uname -a ์˜ ์ถœ๋ ฅ์„ ์ธ์‡„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

VM : Ubuntu 14.04
Linux ubuntu 3.19.0-25-generic # 26 ~ 14.04.1-Ubuntu SMP 7 ์›” 24 ์ผ ๊ธˆ์š”์ผ 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

VM : Ubuntu 15.10
Linux ubuntu 4.2.0-19-generic # 23-Ubuntu SMP 11 ์›” 11 ์ผ ์ˆ˜์š”์ผ 11:39:30 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

+1
Docker ๋ฒ„์ „ 1.9.1, OS X 10.11.1์—์„œ a34a1d5 ๋นŒ๋“œ

Docker 1.9.1์ด์žˆ๋Š” OS X 10.9.5์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@marsinvasion ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ณง ํ†ตํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์ค‘์ธ Dockerfile์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋นŒ๋“œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์ž‘๋™์ด ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด์ „์— ๋นŒ๋“œ ๋œ ubuntu : 15.04 ์ด๋ฏธ์ง€์—์„œ์ด ๋”์ฐํ•œ ๋ฒ„๊ทธ (OS X์˜ docker-machine boot2docker 1.9.1)๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ข€๋น„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—†์• ๋ ค๋ฉด ๋‚ด ๋„์ปค ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” https://github.com/docker-library/java/issues/19 ๊ฐ€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ์•„๋งˆ๋„ ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์ค‘๋‹จ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "java"๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚ด ์„œ๋ฒ„๋ฅผ ์˜ค๋ฒ„๋ ˆ์ด๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ „์—๋Š” ์ข€๋น„ ์ปจํ…Œ์ด๋„ˆ๋„ ๋งŽ์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

Docker ๋ฒ„์ „ 1.9.1, OS X 10.11.1์—์„œ a34a1d5 ๋นŒ๋“œ

๋ˆ„๊ตฌ๋“ ์ง€ ๊ธฐ์กด boot2docker.iso ์‹œ์Šคํ…œ์„ https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/ ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ๋ฌด์—‡์ด ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ „์ฒด ์žฌ ๊ตฌ์ถ•์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šด๊ฐ€์š”? ์ด ํŽ˜์ด์ง€์—๋Š” CentOS ์ด๋ฏธ์ง€ ๋นŒ๋“œ์— ๋Œ€ํ•œ ๋ถˆ๊ธธํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. "yum"ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? https://github.com/docker/docker/issues/10180 ๊ณผ ๊ด€๋ จ์ด

๊ทธ๊ฒƒ์€ 1.9.1a ๊ณ ์ • - ๋‹น์‹ ์€ OSX์— ์žˆ๋‹ค๋ฉด์ด ์„ค์น˜ - https://github.com/docker/toolbox/releases/download/v1.9.1a/DockerToolbox-1.9.1a.pkg

Docker Toolbox 1.9.1a์— ์˜ํ•ด ํ™•์‹คํžˆ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฒ„์ „์—์„œ์ด ๋ฒ„๊ทธ๋กœ ๊ณ ํ†ต ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€์„ ๋’ค๋Œ์•„ ๋ณด๋ฉด ๋‚˜๋งŒ์ด ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค.

์•„๋‹ˆ ์•„์ง ๊ฑด๋ฌผ์ด ์•„๋‹ˆ์•ผ

Virtualbox์—์„œ VM์„ ์‚ญ์ œํ•˜๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ƒˆ VM์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ญ์ œํ•˜๊ณ  ์ƒ์„ฑ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

1.9.1a๋ฅผ ์„ค์น˜ํ•˜๊ณ  docker-machine rm default ํ–ˆ์œผ๋ฉฐ Docker Quickstart Terminal์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๋จธ์‹ ์„ ๋‹ค์‹œ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋นŒ๋“œ ๋œ ์ด๋ฏธ์ง€ ( java:7-jre ์—์„œ ํŒŒ์ƒ ๋จ) ๋ฐ ์‹คํ–‰๋˜์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์ œ์•ˆํ•œ๋Œ€๋กœ ์ œ์ž‘ ๋œ ์˜ค๋ฒ„๋ ˆ์ด ๊ธฐ๊ณ„๋กœ ๊ณ„์†ํ•ด์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

$ docker-machine create -d virtualbox --engine-storage-driver overlay overlay

^ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์˜ค๋ฒ„๋ ˆ์ด ๊ธฐ๊ณ„๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—”์ง„ ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„๋กœ overlay ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด MongoDB ์ข…๋ฃŒ ์ค‘๋‹จ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

OpenJDK ๋Œ€์‹  Oracle Java๋ฅผ ์„ค์น˜ํ•˜์—ฌ Dockerfile ๋นŒ๋“œ ์‹คํŒจ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# Oracle java is bulkier but avoids boot2docker/aufs docker issue 18180
RUN apt-get install -y software-properties-common python-software-properties && add-apt-repository -y ppa:webupd8team/java && apt-get update
RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
RUN apt-get install -y oracle-java8-installer && apt-get install -y oracle-java8-set-default

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๋ฌธ์ œ์˜ ๋ฒ”์œ„๋ฅผ ๊ณผ์†Œ ํ‰๊ฐ€ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, boot2docker 1.9.1์€ openjdk๊ฐ€ ์ž˜ ์„ค์น˜๋œ CentOS ์ปจํ…Œ์ด๋„ˆ์—์„œ๋„ ์ข€๋น„ ์ž๋ฐ” ํ”„๋กœ์„ธ์Šค๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.
root 322 11.1 0.0 0 0 ? Zsl 18:43 29:48 [java] <defunct>

CentOS ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  overlayfs ๊ฐ€ yum (https://github.com/)์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— --engine-storage-driver overlay ๋‚ด Docker ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค overlayfs ๋„์ปค / ๋„์ปค / ๋ฌธ์ œ / 10180).

๋‚˜๋Š” Docker ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ,์ด ์ฐจ๋‹จ ๋ฌธ์ œ๋ฅผ ์ง€๋‚˜๊ฐ€๋Š” ๋ฐฉ๋ฒ•์€ ์•ฝ๊ฐ„ ์˜ค๋ž˜๋œ AUFS์™€ ํ•จ๊ป˜ docker 1.9.1์„ ์‚ฌ์šฉํ•˜๋Š” boot2docker.iso๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. https://github.com/boot2docker/boot2docker/issues/1099#issuecomment -163052066์˜ ์ง€์นจ.

์˜ค๋ผํด jdk1.7.0_75 ๋ฐ jdk1.8.0_65๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ค‘์ง€ํ•˜๊ณ  ์—†์–ด์ง„ Java ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ฐœ์‹ ์ž : https://github.com/docker/docker/issues/10589
@neverfox ์ •ํ™•ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ, ๋™์ผํ•œ ์ด๋ฏธ์ง€ +1

~ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   a34a1d5
 Built:        Sat Nov 21 00:49:19 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64


~ docker-machine inspect default
{
    "ConfigVersion": 3,
    "Driver": {
        "Driver": {
            "VBoxManager": {},
            "IPAddress": "192.168.99.100",
            "MachineName": "default",
            "SSHUser": "docker",
            "SSHPort": 61012,
            "SSHKeyPath": "/Users/myuser/.docker/machine/machines/default/id_rsa",
            "StorePath": "/Users/myuser/.docker/machine",
            "SwarmMaster": false,
            "SwarmHost": "tcp://0.0.0.0:3376",
            "SwarmDiscovery": "",
            "CPU": 1,
            "Memory": 4096,
            "DiskSize": 20000,
            "Boot2DockerURL": "",
            "Boot2DockerImportVM": "",
            "HostOnlyCIDR": "192.168.99.1/24",
            "HostOnlyNicType": "82540EM",
            "HostOnlyPromiscMode": "deny",
            "NoShare": false
        },
        "Locker": {}
    },
    "DriverName": "virtualbox",
    "HostOptions": {
        "Driver": "",
        "Memory": 0,
        "Disk": 0,
        "EngineOptions": {
            "ArbitraryFlags": [],
            "Dns": null,
            "GraphDir": "",
            "Env": [],
            "Ipv6": false,
            "InsecureRegistry": [],
            "Labels": [],
            "LogLevel": "",
            "StorageDriver": "",
            "SelinuxEnabled": false,
            "TlsVerify": true,
            "RegistryMirror": [],
            "InstallURL": "https://get.docker.com"
        },
        "SwarmOptions": {
            "IsSwarm": false,
            "Address": "",
            "Discovery": "",
            "Master": false,
            "Host": "tcp://0.0.0.0:3376",
            "Image": "swarm:latest",
            "Strategy": "spread",
            "Heartbeat": 0,
            "Overcommit": 0,
            "ArbitraryFlags": [],
            "Env": null
        },
        "AuthOptions": {
            "CertDir": "/Users/myuser/.docker/machine/certs",
            "CaCertPath": "/Users/myuser/.docker/machine/certs/ca.pem",
            "CaPrivateKeyPath": "/Users/myuser/.docker/machine/certs/ca-key.pem",
            "CaCertRemotePath": "",
            "ServerCertPath": "/Users/myuser/.docker/machine/machines/default/server.pem",
            "ServerKeyPath": "/Users/myuser/.docker/machine/machines/default/server-key.pem",
            "ClientKeyPath": "/Users/myuser/.docker/machine/certs/key.pem",
            "ServerCertRemotePath": "",
            "ServerKeyRemotePath": "",
            "ClientCertPath": "/Users/myuser/.docker/machine/certs/cert.pem",
            "StorePath": "/Users/myuser/.docker/machine/machines/default"
        }
    },
    "Name": "default",
    "RawDriver": "eyJWQm94TWFuYWdlciI6e30sIklQQWRkcmVzcyI6IjE5Mi4xNjguOTkuMTAwIiwiTWFjaGluZU5hbWUiOiJkZWZhdWx0IiwiU1NIVXNlciI6ImRvY2tlciIsIlNTSFBvcnQiOjYxMDEyLCJTU0hLZXlQYXRoIjoiL1VzZXJzL2RhdmlkZnJhbmNvZXVyLy5kb2NrZXIvbWFjaGluZS9tYWNoaW5lcy9kZWZhdWx0L2lkX3JzYSIsIlN0b3JlUGF0aCI6Ii9Vc2Vycy9kYXZpZGZyYW5jb2V1ci8uZG9ja2VyL21hY2hpbmUiLCJTd2FybU1hc3RlciI6ZmFsc2UsIlN3YXJtSG9zdCI6InRjcDovLzAuMC4wLjA6MzM3NiIsIlN3YXJtRGlzY292ZXJ5IjoiIiwiQ1BVIjoxLCJNZW1vcnkiOjQwOTYsIkRpc2tTaXplIjoyMDAwMCwiQm9vdDJEb2NrZXJVUkwiOiIiLCJCb290MkRvY2tlckltcG9ydFZNIjoiIiwiSG9zdE9ubHlDSURSIjoiMTkyLjE2OC45OS4xLzI0IiwiSG9zdE9ubHlOaWNUeXBlIjoiODI1NDBFTSIsIkhvc3RPbmx5UHJvbWlzY01vZGUiOiJkZW55IiwiTm9TaGFyZSI6ZmFsc2V9"
}
โžœ  ~  docker inspect 74
[
{
    "Id": "7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04",
    "Created": "2015-11-27T13:23:11.515987776Z",
    "Path": "/docker-entrypoint.sh",
    "Args": [
        "cassandra",
        "-f"
    ],
    "State": {
        "Status": "running",
        "Running": true,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 1263,
        "ExitCode": 0,
        "Error": "",
        "StartedAt": "2015-11-27T13:23:11.612899257Z",
        "FinishedAt": "0001-01-01T00:00:00Z"
    },
    "Image": "338a92b912e4d5a84c4f399a9475a1476f8226eff85c2592c8e80ba58b13d225",
    "ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04/resolv.conf",
    "HostnamePath": "/mnt/sda1/var/lib/docker/containers/7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04/hostname",
    "HostsPath": "/mnt/sda1/var/lib/docker/containers/7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04/hosts",
    "LogPath": "/mnt/sda1/var/lib/docker/containers/7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04/7471b734d7e7e47270511453a04d903c974cba77a2a0d259255355a653f95e04-json.log",
    "Name": "/pensive_kalam",
    "RestartCount": 0,
    "Driver": "aufs",
    "ExecDriver": "native-0.2",
    "MountLabel": "",
    "ProcessLabel": "",
    "AppArmorProfile": "",
    "ExecIDs": null,
    "HostConfig": {
        "Binds": null,
        "ContainerIDFile": "",
        "LxcConf": [],
        "Memory": 0,
        "MemoryReservation": 0,
        "MemorySwap": 0,
        "KernelMemory": 0,
        "CpuShares": 0,
        "CpuPeriod": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "CpuQuota": 0,
        "BlkioWeight": 0,
        "OomKillDisable": false,
        "MemorySwappiness": -1,
        "Privileged": false,
        "PortBindings": {},
        "Links": null,
        "PublishAllPorts": false,
        "Dns": [],
        "DnsOptions": [],
        "DnsSearch": [],
        "ExtraHosts": null,
        "VolumesFrom": null,
        "Devices": [],
        "NetworkMode": "default",
        "IpcMode": "",
        "PidMode": "",
        "UTSMode": "",
        "CapAdd": null,
        "CapDrop": null,
        "GroupAdd": null,
        "RestartPolicy": {
            "Name": "no",
            "MaximumRetryCount": 0
        },
        "SecurityOpt": null,
        "ReadonlyRootfs": false,
        "Ulimits": null,
        "LogConfig": {
            "Type": "json-file",
            "Config": {}
        },
        "CgroupParent": "",
        "ConsoleSize": [
            0,
            0
        ],
        "VolumeDriver": ""
    },
    "GraphDriver": {
        "Name": "aufs",
        "Data": null
    },
    "Mounts": [
        {
            "Name": "2249b03f9a598e5ac3f306983877292baa299c4499c9db77eb9bfcb88fd2f541",
            "Source": "/mnt/sda1/var/lib/docker/volumes/2249b03f9a598e5ac3f306983877292baa299c4499c9db77eb9bfcb88fd2f541/_data",
            "Destination": "/var/lib/cassandra",
            "Driver": "local",
            "Mode": "",
            "RW": true
        }
    ],
    "Config": {
        "Hostname": "7471b734d7e7",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": true,
        "AttachStderr": true,
        "ExposedPorts": {
            "7000/tcp": {},
            "7001/tcp": {},
            "7199/tcp": {},
            "9042/tcp": {},
            "9160/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "CASSANDRA_VERSION=2.1.11",
            "CASSANDRA_CONFIG=/etc/cassandra"
        ],
        "Cmd": [
            "cassandra",
            "-f"
        ],
        "Image": "cassandra:2.1.11",
        "Volumes": {
            "/var/lib/cassandra": {}
        },
        "WorkingDir": "",
        "Entrypoint": [
            "/docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {},
        "StopSignal": "SIGTERM"
    },
    "NetworkSettings": {
        "Bridge": "",
        "SandboxID": "e2f074e4b10e67cd7ac22d6e73d50304fc3f0a68d67c7fee6d7f8d647c9eb9b1",
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "7000/tcp": null,
            "7001/tcp": null,
            "7199/tcp": null,
            "9042/tcp": null,
            "9160/tcp": null
        },
        "SandboxKey": "/var/run/docker/netns/e2f074e4b10e",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null,
        "EndpointID": "63596aa5ec20516d477921fec4197d086b4dd4f1ad25014b5ddf027b82891966",
        "Gateway": "172.17.0.1",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "IPAddress": "172.17.0.2",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "MacAddress": "02:42:ac:11:00:02",
        "Networks": {
            "bridge": {
                "EndpointID": "63596aa5ec20516d477921fec4197d086b4dd4f1ad25014b5ddf027b82891966",
                "Gateway": "172.17.0.1",
                "IPAddress": "172.17.0.2",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "MacAddress": "02:42:ac:11:00:02"
            }
        }
    }
}
]

docker run -it cassandra:2.1.11 ์‹คํ–‰ํ•˜๋ฉด ํ„ฐ๋ฏธ๋„์ด ๋ฉˆ์ถฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ค‘์ง€ ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์ „์ฒด VM์„ ์ค‘์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

+1

์˜ค๋Š˜ ์ด์ „์— Mac OSX 10.11.1 (15B42)์„ ์‹คํ–‰ํ•˜๋Š” Docker 1.9.1์—์„œ ๋ฌธ์ œ๋ฅผ ๋ณต์ œ ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Docker 1.9.0์„ ์„ค์น˜ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

_ ํ•˜๋ฃจ ์ผ์ฐ ๋‚ด ์ž‘์—… ๋จธ์‹ ์— ์žˆ๋˜ ์ •๋ณด ๋ถ€์กฑ์— ๋Œ€ํ•œ ์‚ฌ๊ณผ-์ถ”ํ›„ ์—…๋ฐ์ดํŠธ ๋œ ์ •๋ณด ์ œ๊ณต _

: +1 :

Docker 1.9.1 ๋ฐ OS X 10.11๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด

์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ด๊ฒƒ์„ _docker_ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ํ˜„์žฌ boot2docker ๋ฒ„์ „์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปค๋„์˜ AUFS์™€ ๊ฒฐํ•ฉํ•œ ์ปค๋„ ๋ฌธ์ œ ๋กœ ๋ฒ”์œ„๋ฅผ ์ขํ˜”์Šต๋‹ˆ๋‹ค. https://github.com/docker/docker/issues/18180#issuecomment -161832035 ์ฐธ์กฐ

  • ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณ„์† ๋ฐ›์œผ๋ ค๋ฉด ์ด ํŽ˜์ด์ง€์˜ ์˜๊ฒฌ ์„ ๋งํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
  • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ปค๋„์˜ git-bissect๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด https://github.com/docker/docker/issues/18180#issuecomment -161834068์— ๋„์›€์ด ๋  ์ˆ˜
  • ๊ฐ ๋Œ“๊ธ€์€ ๊ตฌ๋…์ž์—๊ฒŒ 2000 ๊ฐœ ์ด์ƒ์˜ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  ์ˆ˜๋งŽ์€ ๊ฐ•์•„์ง€๊ฐ€ ์ฃฝ์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. : smile :

๋ฐฉ๊ธˆ Storage Driver: devicemapper ( Server Version: 1.9.1 ๋ฐ ์ปค๋„ 4.2.6 ์‚ฌ์šฉ)์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ฒ„๊ทธ๊ฐ€ ์žฌํ˜„๋˜์ง€ _not_ํ•˜๋ฏ€๋กœ ์ตœ์‹  ์ปค๋„์˜ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ AUFS ํŒจ์น˜ ๊ฐ„์˜ ์ด์ƒํ•œ ์ƒํ˜ธ ์ž‘์šฉ์— ์—ฌ์ „ํžˆ ์žˆ์Šต๋‹ˆ๋‹ค. " ๋‚˜๋ผ. :์‹ค๋งํ•œ:

ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ์ƒˆ๋กœ์šด 4.1.14 ์ปค๋„ ์— ์—ฌ์ „ํžˆ ๋ฒ„๊ทธ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ AUFS ํŒจ์น˜์™€ ์ด์ƒํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” 4.1.13์œผ๋กœ ๋ฐฑ ํฌํŠธ ๋œ ์ผ๋ถ€ ์ปค๋ฐ‹์— ์—ฌ์ „ํžˆ ์•‰์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž„์‹œ).

๋‚˜๋Š” ๊ทธ๊ฒƒ์—๊ฒŒ ์˜ค๋ž˜๋œ ๋Œ€ํ•™ ์‹œ๋„๋ฅผ ์ฃผ๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  boot2docker repo๋ฅผ ๋ณต์ œํ–ˆ๋‹ค; ๊ทธ๋Ÿฐ ๋‹ค์Œ dockerfile์˜ aufs ์ปค๋ฐ‹์„ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ docker 1.9.1 ์ปค๋„ 4.1.13 + 1.9.1 ์ด์ „์— ์ œ๊ณต๋œ ์ด์ „ AUFS ๋ฒ„์ „. ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์ปดํŒŒ์ผ์ด ๋Š๋ฆฝ๋‹ˆ๋‹ค ... git bisect์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ง‘๊ณ„ ํ•  ์ˆ˜์žˆ๋Š” ๋„์ปค ๋–ผ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์€ ๋‹ฌ์ฝค ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ํšจ๊ณผ๊ฐ€ ์žˆ์œผ๋ฉด ๊ณง ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์ •๋ณด:
4.1.13 +์ด AUFS ์ปค๋ฐ‹์—๋Š” ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
ENV AUFS_COMMIT 1724fe65683d126a92c6baeea0b3c7d0306c63ef

๊ฒฐ๊ณผ๋ฅผ ์ง‘๊ณ„ ํ•  ์ˆ˜์žˆ๋Š” ์‰ฌ์šด ์„ค์ •์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

FWIW, https://sources.debian.net/src/ca-certificates-java/jessie/debian/postinst.in/ ์€ ํ•ด๋‹น ํŒจํ‚ค์ง€์—์„œ ์‹คํ–‰์ค‘์ธ ์ •ํ™•ํ•œ ์Šคํฌ๋ฆฝํŠธ์ด๋ฉฐ https://sources.debian.net/src /ca-certificates-java/jessie/src/main/java/org/debian/security/UpdateCertificates.java/ ๋Š” ์ค‘๋‹จ + ์ž‘๋™ ์ค‘์ง€ + ๊ณ ์ • ๋œ CPU๋ฅผ ์–ป์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ •ํ™•ํ•œ Java ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜ ๊ด€๋ จ ๋ฌธ์ œ (Java ํ”„๋กœ์„ธ์Šค ์ค‘๋‹จ)๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ํ™˜๊ฒฝ : Linux lenovo 4.2.0-19-generic # 23-Ubuntu SMP 11 ์›” 11 ์ผ ์ˆ˜์š”์ผ 11:39:30 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux
๋ฐฐํฌํŒ : Ubuntu 15.10
Docker ์—”์ง„ : 1.9.1
Docker ๋จธ์‹  : 0.5.0 (04cfa58)

๋„คํŠธ์›Œํฌ ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ์ž์Šต์„œ๋ฅผ ๋”ฐ๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ๋‚ด๊ฐ€ oracle / nosql ์ด๋ฏธ์ง€๋กœ ๋†€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ด๋ฏธ์ง€๋Š” Oracle Linux๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ OpenJDK๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

@brunoborges ์˜ˆ, ๋™์ผํ•œ ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/docker/docker/issues/18500#issuecomment -163334612๋ฅผ ์ฐธ์กฐ

@brunoborges๋Š” boot2docker.iso ๋ฒ„์ „์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. 1.9.1 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปดํ“จํ„ฐ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด์ชฝ์œผ๋กœ ๊ฐ€๋ฉด ์—ฌ๊ธฐ์— ์งง์€ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ž˜์„œ ์™œ ์ด๊ฒƒ์ด ๋‹ค๋ฅธ ์–ธ์–ด๊ฐ€ ์•„๋‹Œ ์ž๋ฐ”์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๊ฒŒ์‹œ๋ฌผ ์ค‘ ํ•˜๋‚˜์—์„œ ๊ฐ„๋‹จํžˆ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ณต์ œ๋ฌผ์„ ์ž์„ธํžˆ ์„ค๋ช… ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

class Foo {
public static void main(String[] a) {
  System.out.println("hellowerld");
  }
}

์‹คํŒจํ•œ ์ž๋ฐ” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดˆ๋ž˜ ํ•œ ๊ฒฝ์šฐ
๊ทธ๋ฆฌ๊ณ 

class Foo {
public static void main(String[] a) {
  System.out.println("hellowerld");
  System.exit(0);
  }
}

์˜ˆ์ƒ ๋œ (์กด์žฌํ•˜์ง€ ์•Š๋Š”) ์ผ€์ด์Šค์— ๋Œ€ํ•ด.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์Šทํ•œ ๊ฒƒ์„ ์žฌํ˜„ํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ข€๋น„ ์ž๋ฐ” ํ”„๋กœ์„ธ์Šค์—์„œ ๋ณธ ๋งˆ์ง€๋ง‰ strace ์ถœ๋ ฅ exit_group(0) = ? ์„ ํ‘œ์‹œํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. (์ด ๋งํฌ๋Š” ํŒŒ์ด์ฌ ์Šค๋ ˆ๋”ฉ / seccomp / etc http://stackoverflow.com/questions/25678139/how-do-you-cleanly-exit-after-enabling-seccomp-in-python์— ๋Œ€ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค)

์ปค๋„ ์˜์—ญ์œผ๋กœ ์ด๋™ : boot2docker iso๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ  aufs ๋ฒ„์ „๊ณผ ์ปค๋„ ๋ฒ„์ „์„ ์—‰๋ง์œผ๋กœ ๋งŒ๋“  ํ›„ (์‹ค์ œ๋กœ ์ฐจ์ด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์Œ) ์ปดํŒŒ์ผ ํ”„๋กœ์„ธ์Šค๊ฐ€ numproc = 1์„ ์‚ฌ์šฉํ•˜๋Š” ์†๋„์— ์ง€์ณค์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ 6์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ==> ๋” ์ด์ƒ 1 ๊ฐœ์˜ cpu๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค (์ด์ œ ํ•˜๋ฃจ์— 1 ๊ฐœ์˜ cpu ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?). ๊ฐ‘์ž๊ธฐ ์‹คํŒจ ์‚ฌ๋ก€

class Foo {
public static void main(String[] a) {
  System.out.println("hellowerld");
  }
}

์ผํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํžˆ ๋‹ค์Œ์œผ๋กœ ์‹œ๋„ํ•œ ๊ฒƒ์€ 1 cpu๋กœ ๋‹ค์‹œ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ==> ์‹คํŒจ. ๋‹ค์‹œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” Java ํ”„๋กœ์„ธ์Šค๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Java๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 1 CPU๋งŒ์œผ๋กœ์ด ์ž๋ฐ” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (์ œ๋ฐœ ๋‚ด ๋”์ฐํ•œ ์ž๋ฐ”๋ฅผ ๋†€๋ฆฌ์ง€ ๋งˆ์„ธ์š”.)

import java.util.Iterator;
import java.util.Set;

class Foo {

static public final Object a = new Object();
static {
  final Object aa = a;
  Runtime.getRuntime().addShutdownHook(new Thread() {
        <strong i="21">@Override</strong>
        public void run() {
                System.out.println("added one");
                if (aa == null)
                        { System.out.println("out"); }
        }
  });
  System.out.println("exit");
  Set<Thread> threadSet = Thread.getAllStackTraces().keySet();

  Thread[] threadArray = threadSet.toArray(new Thread[threadSet.size()]);
  for(Thread xxx : threadArray)
  {
    System.out.println(xxx.toString());
  }
////  System.exit(0);
}
static public void main(String[] a) {}

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด์ด ๋™์ž‘์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? << ์งˆ๋ฌธ์€ ์ด์ œ ์˜๋ฌธ์ž…๋‹ˆ๋‹ค

์—…๋ฐ์ดํŠธ : ๋‘˜ ์ด์ƒ์˜ ์ฝ”์–ด๊ฐ€ ์žˆ์–ด๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” Java ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋‚˜๋Š” cassandra-cli๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ์ผ์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.)

๋„์ปค ๋จธ์‹  ssh myVM

ps -ef:
docker    6606  5863  0 Dec11 ?        00:00:00 /bin/sh /cassandra/bin/cassandra-cli -f /home/foo/my.cli -h 172.17.0.2
docker    6651  6606 99 Dec11 ?        00:41:29 [java] <defunct>
cat /proc/6606/stack
[<ffffffff8106e491>] do_wait+0x1ab/0x23f
[<ffffffff8106e5bc>] SYSC_wait4+0x97/0xb0
[<ffffffff8106d66b>] child_wait_callback+0x0/0x43
[<ffffffff8155466e>] system_call_fastpath+0x12/0x71
[<ffffffffffffffff>] 0xffffffffffffffff

cat /proc/6651/stack
[<ffffffff8106f06c>] do_exit+0x88f/0x8cc
[<ffffffff81075f8d>] signal_wake_up_state+0x23/0x36
[<ffffffff8106f104>] do_group_exit+0x36/0xa6
[<ffffffff8106f180>] __wake_up_parent+0x0/0x1d
[<ffffffff8155466e>] system_call_fastpath+0x12/0x71
[<ffffffffffffffff>] 0xffffffffffffffff

bitbucket-server-update-ca-certificates๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋™์ผํ•œ ์ค‘๋‹จ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ jdk ํฌ์ŠคํŠธ ํ›…์€ ์˜์›ํžˆ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. 1.9.1 boot2docker๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. RancherOS ์ด๋ฏธ์ง€๋กœ ์ „ํ™˜ํ–ˆ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. OSX 10.10.

El Capitan, Docker 1.9.1 ๋ฐ Ubuntu 14.04.1์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌดํ•œํžˆ ์ค‘๋‹จ๋˜๋Š” ca-certificates-java ์„ค์ •.

@stremlenye ๊ฐ€ 1.9.0์œผ๋กœ ๋กค๋ฐฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋ฉˆ ์ถฅ๋‹ˆ ๋‹ค.

@brunoborges docker 1.9.0 ๋˜๋Š” boot2docker.iso 1.9.0?

@stremlenye Docker 1.9.0 ... ๋‚ด ์‹œ์Šคํ…œ์—์„œ boot2docker.iso 1.9.0์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@brunoborges ์œ„์˜ ๋Œ“๊ธ€์„ ํ™•์ธํ•˜์„ธ์š”.

https://github.com/docker/docker/issues/18180#issuecomment -160660738

carsten-ulrich-saitow-ag๋Š” --virtualbox-boot2docker-url ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1.9.0 iso๋กœ ์ƒˆ ๋„์ปค ๋จธ์‹ ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์กฐ์–ธ์ด ์ œ ๋ฒ ์ด์ปจ์„ ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค! ๊ทธ๋ ‡๊ฒŒํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ์— JRE RPM์„ ๋‹ค์‹œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ mobsy74 @stremlenye ๋Š” boot2docker 1.9.0์œผ๋กœ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋•Œ๋•Œ๋กœ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

@brunoborges ์‹œ๋„ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ์ด ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ • ๋  ๋•Œ๊นŒ์ง€ 1.8.3์„ ๊ณ ์ˆ˜ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@stremlenye ๋‹น์‹ ์€ boot2docker 1.8.3์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

ํŠธ์œ— ๋‹ด์•„ ๊ฐ€๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”,
๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.
Docker ๋„๊ตฌ๋ฅผ 1.9.1์—์„œ 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/docker/toolbox/releases/download/v1.9.0/DockerToolbox-1.9.0.pkg

(๋„์ปค ๋จธ์‹ ์—์„œ) ์—ฌ๋Ÿฌ CPU๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

--virtualbox-cpu-count=4

@heiths Docker ๋„๊ตฌ ๋ฒ„์ „์„ ๊ณต์œ ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

imho, boot2docker๋Š” aufs์—์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. aufs๊ฐ€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์— ๋“ค์–ด ๊ฐ€์ง€ ์•Š์€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@robvanmieghem ๊ฐ ๋“œ๋ผ์ด๋ฒ„์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Aufs๋Š” ์ „๋ฐ˜์ ์œผ๋กœ ๋งค์šฐ ์•ˆ์ •์ ์ด๋ฉฐ overlayfs์—๋Š” ์‚ฌ์šฉ์— ๋”ฐ๋ผ ์ผ๋ถ€ ์ฐจ๋‹จ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@brunoborges DockerToolbox-1.9.1c-์ด๊ฒƒ์€ Windows์™€ OSX์—์„œ ์ €์—๊ฒŒ

@thaJeztah ๋Š” overlayfs๊ฐ€ ์™„๋ฒฝํ•œ ์†”๋ฃจ์…˜์ด๋ผ๊ณ 

๋ฐฐํฌํŒ๊ณผ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์กฐํ•ฉ๋งŒํผ์ด๋‚˜ ๋งŽ์€ ์˜๊ฒฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. :) ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์™„๋ฒฝํ•œ ์†”๋ฃจ์…˜์€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜คํ”ˆ ์†Œ์Šค์™€ Linux์˜ ์ •์‹ ์— ๋”ฐ๋ผ ์ตœ์„ ์˜ ๊ฒฐ์ •์€ ๋” ๋‚˜์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฐฐํฌํŒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ Boot2Docker ๋˜๋Š” RancherOS๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ๋น„์•ˆ ๋ฐฐํฌํŒ ๊ธฐ๋ฐ˜์—์„œ boot2docker๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ธฐ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. docker-machine์€ ํด๋ผ์šฐ๋“œ ๋ฐ ๋ฒ ์–ด ๋ฉ”ํƒˆ์—์„œ ์šฐ๋ถ„ํˆฌ๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ ์šฐ๋ถ„ํˆฌ ๊ธฐ๋ฐ˜ vm iso๋Š” ์•ŒํŒŒ์ธ ๋˜๋Š” CoreOS ๋“ฑ์— ๊ตฌ์ถ• ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ฒƒ๋งŒ ํผ ํ•จ๊ป˜ ๋˜์ง€๊ธฐ๊ฐ€ ์–ด๋ ต์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์„ ํƒ-๋‹ค์‹œ, RancherOS๋Š” ์ด์ œ ZFS๋ฅผ ์„ ํƒ์  ์„ค์น˜๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐ˜๋ฉด CoreOS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ BTRFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ ์—ฌ์ „ํžˆ ์˜ต์…˜์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ์ปค๋„ 3.19๋ถ€ํ„ฐ Ubuntu๋Š” ์ฆ‰์‹œ OverlayFS๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค-Snappy Core ๊ธฐ๋ฐ˜์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž b2d ์ด๋ฏธ์ง€? ;)

์ด์ œ docker-machine ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ด๋ฆ„ ์ง€์ •์„ ํ‘œ์ค€ํ™”ํ•˜๊ณ  'boot2docker'์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ํ˜ผ๋™์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด-boot2docker-url ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RancherOS๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ์ง๊ด€์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

@ ํŒŒ๋ž€์ƒ‰ +1

@heiths +1. ์ด๊ฒƒ์€ 1.9.1c์˜ OSX์—์„œ๋„ ๋‚˜์—๊ฒŒ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

CPU๋ฅผ> 1๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 1.9.1c๋Š” ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@heiths @fredriksvensson ์ €๋Š”์ด ๋ฌธ์ œ๊ฐ€ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์— ๋ฌด์ž‘์œ„๋กœ ๋‚˜ํƒ€๋‚˜๊ณ  CPU ์–‘์„ ๋Š˜๋ฆฌ๋ ค ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค (๋ฉ”๋ชจ๋ฆฌ๋„ ์žˆ์ง€๋งŒ ๊ทธ๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). stop <all> / start <all> ์˜ ๋ช‡ ๋ฒˆ์˜์ฃผ๊ธฐ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜ ์Œ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์†”๋ฃจ์…˜์ด ์•ˆ์ •์ ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ํ™˜๊ฒฝ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
/ cc @timechanter

์˜ค, ํ™•์‹คํžˆ ์‚ฌ๋ผ์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ค‘๋‹จ์˜ 10 % ํ™•๋ฅ ๊ณผ 100 % ์ค‘๋‹จ์˜ ๊ฐ€๋Šฅ์„ฑ์€ ์ ์–ด๋„ ๋‹จ๊ธฐ์ ์œผ๋กœ๋Š” ๊ด€๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค.

@heiths --virtualbox-cpu-count=4 ๋„ ์ €์—๊ฒŒ ํšจ๊ณผ์  ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

@timechanter +1 CPU๋ฅผ> 1๋กœ ์„ค์ •ํ•˜๋ฉด ์ ์–ด๋„ ํ•œ ๋ฒˆ์€ ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํšจ๊ณผ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

OSX 10.10.5

Docker ๋„๊ตฌ ์ƒ์ž 1.9.1์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. Docker ๋„๊ตฌ ์ƒ์ž 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

El Capitan MacOSX์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ

@heiths --virtualbox-cpu-count=4 ๋„ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

Windows 7์—์„œ Docker Toolbox 1.9.1b ๋ฐ 1.9.1e๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

"ca-certificates-java (20130815ubuntu1) ์„ค์ • ์ค‘ ..."-El Capitan MacOSX. ์ œ๋ฐœ ๋„์™€์ฃผ์„ธ์š” !!! ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ณ ์น  ์ˆ˜ ์—†๋‹ค

@ troian88 ์€ boot2docker.iso 1.9.0 ๋˜๋Š” 1.8.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

@ troian88 , ์—ฌ๋Ÿฌ CPU๊ฐ€์žˆ๋Š” ๋„์ปค ๋จธ์‹ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Docker 1.9.1์—์„œ --virtualbox-cpu-count=2 ๊ฐ€ Setting up ca-certificates-java ์ค‘๋‹จ ๋œ ์ž„์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด

์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ด๊ฒƒ์„ _docker_ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ํ˜„์žฌ boot2docker ๋ฒ„์ „์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปค๋„์˜ AUFS์™€ ๊ฒฐํ•ฉํ•œ ์ปค๋„ ๋ฌธ์ œ ๋กœ ๋ฒ”์œ„๋ฅผ ์ขํ˜”์Šต๋‹ˆ๋‹ค. https://github.com/docker/docker/issues/18180#issuecomment -161832035 ์ฐธ์กฐ

  • ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณ„์† ๋ฐ›์œผ๋ ค๋ฉด ์ด ํŽ˜์ด์ง€์˜ ์˜๊ฒฌ ์„ ๋งํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
  • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ปค๋„์˜ git-bissect๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด https://github.com/docker/docker/issues/18180#issuecomment -161834068์— ๋„์›€์ด ๋  ์ˆ˜
  • ๊ฐ ๋Œ“๊ธ€์€ ๊ตฌ๋…์ž์—๊ฒŒ 2000 ๊ฐœ ์ด์ƒ์˜ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  ์ˆ˜๋งŽ์€ ๊ฐ•์•„์ง€๊ฐ€ ์ฃฝ์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. : smile :

@externl @stremlenye ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

LWP ์Šคํƒ์„ ์‚ดํŽด๋ณด๋ฉด ๋ฒ„๊ทธ๊ฐ€ aufs_destroy_inode ์ธํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋” ์ž์„ธํžˆ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

inode-> i_mutex ์™€ ๊ด€๋ จ๋œ ๊ต์ฐฉ ์ƒํƒœ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# uname -a
Linux suda-PC2 4.2.0-21-generic #25-Ubuntu SMP Wed Dec 2 18:42:25 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

# ps -eLf | grep java
root     23358 23091 23358  0    2 10:48 ?        00:00:00 [java] <defunct>
root     23358 23091 23359 99    2 10:48 ?        00:53:41 [java] <defunct>
root     25679 28603 25679  0    1 11:42 pts/22   00:00:00 grep --color=auto java

# cat /proc/23358/stack # this is not so much helpful
[<ffffffff8107e002>] do_exit+0x822/0xb10
[<ffffffff8107e383>] do_group_exit+0x43/0xb0
[<ffffffff8107e404>] SyS_exit_group+0x14/0x20
[<ffffffff817f0232>] entry_SYSCALL_64_fastpath+0x16/0x75
[<ffffffffffffffff>] 0xffffffffffffffff

# cat /proc/23358/task/23359/stack # seems very helpful
[<ffffffff81183fe5>] generic_file_write_iter+0xf5/0x1e0
[<ffffffff811fc98b>] new_sync_write+0x9b/0xe0
[<ffffffffc061c273>] do_xino_fwrite+0x53/0x90 [aufs]
[<ffffffffc061c2fe>] xino_fwrite.part.27+0xe/0x10 [aufs]
[<ffffffffc061c388>] xino_fwrite+0x88/0xa0 [aufs]
[<ffffffffc063bf8f>] au_xigen_inc+0x5f/0xc0 [aufs]
[<ffffffffc061d0c7>] au_xino_delete_inode+0x177/0x1f0 [aufs]
[<ffffffffc062f336>] au_iinfo_fin+0xc6/0x1b0 [aufs]
[<ffffffffc0617c76>] aufs_destroy_inode+0x16/0x30 [aufs]
[<ffffffff812186ac>] destroy_inode+0x3c/0x60
[<ffffffff812187eb>] evict+0x11b/0x180
[<ffffffff81218a39>] iput+0x199/0x220
[<ffffffff81214155>] __dentry_kill+0x195/0x1f0
[<ffffffff812142e5>] dput+0x135/0x230
[<ffffffff811ff098>] __fput+0x188/0x220
[<ffffffff811ff17e>] ____fput+0xe/0x10
[<ffffffff81098b8b>] task_work_run+0x9b/0xb0
[<ffffffff8107db80>] do_exit+0x3a0/0xb10
[<ffffffff8107e337>] SyS_exit+0x17/0x20
[<ffffffff817f0232>] entry_SYSCALL_64_fastpath+0x16/0x75
[<ffffffffffffffff>] 0xffffffffffffffff



# gdb /usr/lib/debug/boot/vmlinux-4.2.0-21-generic -ex 'l *(generic_file_write_iter+0xf5)'
0xffffffff81183fe5 is in generic_file_write_iter (/build/linux-1vdNXv/linux-4.2.0/mm/filemap.c:2652).

# gdb /usr/lib/debug/lib/modules/4.2.0-21-generic/kernel/fs/aufs/aufs.ko -ex 'l *(aufs_destroy_inode+0x16)'
0xca6 is in aufs_destroy_inode (/build/linux-1vdNXv/linux-4.2.0/fs/aufs/super.c:56).

๋…ธํŠธ

์‚ฌ๋žŒ๋“ค์€ ์—ฌ๋Ÿฌ CPU์—์„œ ์‹คํ–‰ํ•  ๋•Œ ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ฆฌ์  ์ธ 4-CPU ๋ฐ•์Šค๋กœ ๋ฒ„๊ทธ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ํ™•๋ฅ ์ด 1 % ๋ฏธ๋งŒ์ด์ง€๋งŒ)
๋”ฐ๋ผ์„œ --virtualbox-cpu-count=2 ์€ _NOT_ ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CPU ์ˆ˜๋Š” ์—ฌ์ „ํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
taskset 0x1 java ์‹คํ–‰ํ•  ๋•Œ ๊ฒฐ์ •์ ์œผ๋กœ ๋ฒ„๊ทธ์— ๋ถ€๋”ช ํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( taskset ํŠน์ • CPU๋ฅผ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค).

@AkihiroSuda๋Š” ์ด๊ฒƒ์„ ์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ๊ณ„์† ์•Œ๋ ค์ค˜! :์‹ฌ์žฅ:

์ด ๋ฌธ์ œ๋Š” Docker 1.8.3์„ ์‚ฌ์šฉํ•  ๋•Œ Windows 7์—์„œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ์ปค๋„์—์„œ ๋™์ผํ•œ (์œ„์˜ AkihiroSuda์˜ ์ฃผ์„์—์„œ์™€ ์ •ํ™•ํžˆ ๋™์ผํ•œ ์Šคํƒ ์ถ”์ )์„๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
Linux 3.19.0-42-generic #48~14.04.1-Ubuntu SMP x86_64 ๋ฐ Docker version 1.9.1, build a34a1d5

์—ฌ๋Ÿฌ CPU์— ๋Œ€ํ•œ @AkihiroSuda ์˜ ์ฃผ์žฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 8 ์ฝ”์–ด๊ฐ€์žˆ๋Š” ํ˜ธ์ŠคํŠธ

AUFS ๋””๋ฒ„๊น…์€ ์ •๋ง ํฅ๋ฏธ๋กœ์›Œ ๋ณด์ž…๋‹ˆ๋‹ค. AUFS์— ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜๊ณ  AUFS ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ๋””๋ฒ„๊น…์„ ๋„์šธ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. AUFS (Docker ์—†์Œ)๋กœ๋งŒ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์•„๋งˆ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ •ํ™•ํžˆ ์‚ฌ์†Œํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. :๋ฏธ์†Œ:

@tianon ๋‚˜๋Š” aufs-users์— ๊ฒŒ์‹œ๋ฌผ์„ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค : http://permalink.gmane.org/gmane.linux.file-systems.aufs.user/5335

@AkihiroSuda , Java๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ถ„๊ธฐ ๋œ MongoDB ๋ฐ๋ชฌ์„ ์ข…๋ฃŒํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ MongoDB ์‹œ์ž‘ ๋˜๋Š” ์ •๊ธฐ์  ์ธ ์‚ฌ์šฉ์‹œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ์ข…๋ฃŒ์‹œ ์•ˆ์ •์ ์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@jakirkham ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์Šค๋ ˆ๋“œ ๊ตฌ์„ฑ (Java, MongoDB ๋ฐ ๊ธฐํƒ€์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ)์ด ๋ฒ„๊ทธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

BTW, ๋‹ค์‹œ ์ƒ๊ฐํ•˜๋ฉด AUFS ์ค‘๋‹จ์€ ๋ฒ„๊ทธ์˜ "์›์ธ"์ด ์•„๋‹ˆ๋ผ ๋ฒ„๊ทธ์˜ "๊ฒฐ๊ณผ"์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ฃผ์ œ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค : http://www.serverphorums.com/read.php?12 , 673905
(๊ทธ ๋‹น์‹œ์—๋Š” bash๋ฅผ init ํ”„๋กœ์„ธ์Šค๋กœ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— zap_pid_ns_processes() ๋„ ์ดํ‹€ ์ „์— ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์„ ์•Œ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/docker/docker/issues/18180#issuecomment- 166186061)

https://github.com/docker/docker/issues/18180#issuecomment -161843456
@andrewgdavis , ๋‹น์‹  ๋ง์ด ๋งž์•„์š”!

๋ฒ„๊ทธ๋Š” Linux ์ปค๋„ ( mm/filemap.c )์— ๋Œ€ํ•œ ์ปค๋ฐ‹ 296291cd ๋กœ ์ธํ•œ ํšŒ๊ท€ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ปค๋ฐ‹ 296291cd๋ฅผ ์ƒ๋žตํ•˜๋Š” Boot2Docker ISO ( boot2docker-v1.9.1-fix1.iso )๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/AkihiroSuda/boot2docker/releases/tag/v1.9.1-fix1

๋ชจ๋‘์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. : ์Šค๋งˆ์ผ :

์ปค๋ฐ‹ 296291cd๋Š” mm/filemap.c:generic_perform_write ์—์„œ fs/aufs/xino.c:do_xino_fwrite() ํ—ˆ์šฉ ํ•  ์ˆ˜์—†๋Š” ๋ฌดํ•œ -EINTR ๋ฃจํ”„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

static ssize_t do_xino_fwrite(vfs_writef_t func, struct file *file, void *kbuf,
                  size_t size, loff_t *pos)
{
..
    do {
         /* cannot escape from this loop 
            when func returns -EINTR infinitely! */
        err = func(file, buf.u, size, pos);
    } while (err == -EAGAIN || err == -EINTR);
..
}

do_xino_fwrite() ๋Š” ๋ฌดํ•œ ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ zap_pid_ns_processes() (๋‹ค๋ฅธ LWP์—์„œ ์‹คํ–‰ ๋จ)๋Š” ๋‹จ์ผ ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰ํ•  ๋•Œ schedule() ์—์„œ ๋ฐ˜ํ™˜ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ๋ฒ„๊ทธ์— ๋ถ€๋”ชํžˆ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋ฟก๋ฟก
Canonical์ด ์›๋ž˜ ์ปค๋ฐ‹ 296291cd๋ฅผ ์ปค๋„ 3.19 ํŠธ๋ฆฌ๋กœ ๋ฐฑ ํฌํŠธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. http://kernel.ubuntu.com/git/ubuntu/ubuntu-vivid.git/commit/?id=6b08592b8acc677d5b9bb7986343fdd6e0ad3303

@AkihiroSuda ์™€์šฐ, ์ฐพ์•„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ•ด๋‹น ํŒจ์น˜๋ฅผ ๋˜๋Œ๋ ค ์•ผํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ํŒจ์น˜๋ฅผ ๊ฐœ์„  ํ•  ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ปค๋„ ์—…์ŠคํŠธ๋ฆผ์— ํŒจ์น˜๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@AkihiroSuda , ์ˆ˜์ •์€ ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ!

๋ฟก ๋นต๋€จ

์‰ฌ์šด ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค.
์ปค๋ฐ‹ 296291cd๊ฐ€ ์—†์œผ๋ฉด sendfile(2) ๋Š” ์ฃฝ์ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ด์ฒ˜๋Ÿผ ์ฃฝ์„ ์ˆ˜์—†๋Š” sendfile ๊ฐ€ ์ผ๋ถ€ ํŠน์ • ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ๋ฌธ์ œ (์ฆ‰, ์ต๋ช… ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค ์†Œ๋ชจ ๊ณต๊ฒฉ)๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์šฐ๋ คํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹ 296291cd๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๊ณ ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“ ์ด ๋ฒ„๊ทธ๋ฅผ ์ปค๋„ ๋ฒ„๊ทธ์งˆ๋ผ์—๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค : https://bugzilla.kernel.org/show_bug.cgi?id=109971

๋˜ํ•œ ๋””๋ฒ„๊น…์„ ์‰ฝ๊ฒŒํ•˜๊ธฐ ์œ„ํ•ด Docker ์ปจํ…Œ์ด๋„ˆ akihirosuda/test18180 ๋„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/AkihiroSuda/test18180/tree/v0.0.1

$ docker run -it --rm akihirosuda/test18180
[INFO] Checking whether hitting docker#18180.
<-- hangs up here with commit 296291cd
[INFO] OK. not hitting docker#18180.
[INFO] Checking whether sendfile(2) is killable.
[INFO] If the container hangs up here, you are still facing the bug that linux<strong i="18">@296291cd</strong> tried to fix.
<-- hangs up here without commit 296291cd
[INFO] OK. sendfile(2) is killable.
<-- No kernel can reach here

@AkihiroSuda hm, ์ข‹์•„, ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. repro-container์™€ ์—ฐ๊ตฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ ์–ด๋„ ์ž‘์—…ํ•ด์•ผ ํ•  ๋งค์šฐ ๊ตฌ์ฒด์ ์ธ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ฐธ์—ฌํ•˜์—ฌ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ํ›Œ๋ฅญํ•œ ์ž‘์—…์„ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

OS X El Capitan Darwin Kernel ๋ฒ„์ „ 15.2.0์—์„œ ๋งž์•˜์Šต๋‹ˆ๋‹ค.
Docker ๋ฒ„์ „ 1.9.1, ๋นŒ๋“œ d12ea79c9de6d144ce6bc7ccfe41c507cca6fd35
boot2docker 1.9.1

์•„๋ž˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ boot2docker 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-boot2docker-url=https://github.com/boot2docker/boot2docker/releases/download/v1.9.0/boot2docker.iso default

๋ฟก ๋นต๋€จ
AUFS๋Š” 296291cd๋ฅผ ์ง€์›ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
http://article.gmane.org/gmane.linux.file-systems.aufs.user/5343

๋”ฐ๋ผ์„œ ๋‹ค์Œ ๋‹จ๊ณ„๋Š” AUFS์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ์˜์›…, @AkihiroSuda! ์ด ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์—…์ŠคํŠธ๋ฆผ๊ณผ ํ˜‘๋ ฅ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! :์‹ฌ์žฅ:

@AkihiroSuda ์ˆ˜์ •์„ ์ ์šฉํ•˜๋ ค๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋ฉด ์ด๊ฒƒ์€ ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-boot2docker-url=https://github.com/AkihiroSuda/boot2docker/releases/download/v1.9.1-fix1/boot2docker-v1.9.1-fix1.iso default

Ubuntu 14.04 ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ์ปค๋„ 3.13.0-71 ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. 296291cd๋Š” ๊ทธ ํ›„์— ๋ฐฑ ํฌํŠธ

@ebpitts ํŒ์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Docker 1.9.1์ด ์„ค์น˜๋œ ์ƒํƒœ์—์„œ Ubuntu 14.04 ์ปค๋„์„ 3.13.0-71 ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ์ƒ๋Œ€์ ์ธ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

sudo apt-get install linux-image-3.13.0-71-generic
sudo apt-get install linux-generic linux-headers-generic linux-image-generic
sudo reboot

์ด ์‹œ์ ์—์„œ ๋ถ€ํŠธ ๋กœ๋”ฉ ์ค‘์— ์„ ํƒํ•  ๋‘ ๊ฐœ์˜ ์ปค๋„์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SSH๋ฅผ ํ†ตํ•ด ์›๊ฒฉ Vagrant ์ƒ์ž์—์„œ ์‹คํ–‰ ์ค‘์ด ์–ด์„œ GRUB ๋ถ€ํŠธ ๋กœ๋”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค ... ๊ทธ๋ž˜์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋ณธ ์ปค๋„ (์ œ ๊ฒฝ์šฐ์—๋Š” 3.13.0-74)์„ ๋ถ€ํŒ… ์˜ต์…˜์œผ๋กœ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get remove linux-image-3.13.0-74-generic
sudo apt-get install linux-generic linux-headers-generic linux-image-generic

๋ช…๋ น์˜ ์ถœ๋ ฅ์—๋Š” Grub ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฏ€๋กœ /boot/grub/grub.cfg ๊ฒ€์‚ฌํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ ๊ธฐ๋ณธ ๋ถ€ํŒ… ์˜ต์…˜์ด ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ค๋”๋ฅผ ์ œ๊ฑฐ / ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ grub.cfg ํŒŒ์ผ์ด ์ข‹๊ฒŒ ๋ณด์ด๋ฉด ( 3.13.0-71-generic ์ด ์œ ์ผํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ๋ถ€ํŒ… ์˜ต์…˜ ์ž„) ๊ณ„์†ํ•ด์„œ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค.

sudo reboot

๊ทธ๋Ÿฐ ๋‹ค์Œ SSH๋ฅผ ๋‚ด ์ƒ์ž์— ๋‹ค์‹œ ๋„ฃ์Šต๋‹ˆ๋‹ค.

$ uname -r
3.13.0-71-generic

ํ•˜์ง€๋งŒ ์ด์ œ๋Š”๋„ ์ปค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „์ฒด ์žฌ์„ค์น˜๋Š” ๋จผ์ € ์ œ๊ฑฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

sudo apt-get autoremove --purge docker-engine
rm -rf /var/lib/docker 

๊ทธ๋ฆฌ๊ณ  ์†”์งํžˆ OP ์ œ๋ชฉ์— ๊ฑธ๋ ค์žˆ๋Š” ๋™์ผํ•œ ์ปจํ…Œ์ด๋„ˆ์—์„œ docker build ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋Š” ๋‹ค์Œ ์‹œ๋„ ( "Setting up ca-certificates-java"), _still_ ์ฃฝ์—ˆ๊ณ  ์ด๋ฒˆ์—๋Š” ๋‚ด ์ปดํ“จํ„ฐ๋ฅผ ์ž ๊ฐ”์Šต๋‹ˆ๋‹ค. ,ํ•˜์ง€๋งŒ ์ด์ œ SSH ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์œผ๋ฏ€๋กœ ์ง‘์— ๊ฐ€์„œ 2016 ๋…„๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ทธ๋•Œ๊นŒ์ง€ ๋” ๋‚˜์€ ํ•ด๊ฒฐ์ฑ…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค = /

๊ทธ๋ž˜์„œ ... ์šฐ๋ถ„ํˆฌ 14.04 + Docker 1.9.1์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ํ›„ ์ปค๋„์„ 3.13.0-71๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•œ ํ›„์—๋„ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ™•์‹  ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์™.

์˜ˆ, ๋‘ ๋ฒˆ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด $ docker run -it --rm akihirosuda/test18180 ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ๋ฉˆ ์ถฅ๋‹ˆ ๋‹ค.

[INFO] Checking whether hitting docker#18180.
........................................................................................
[INFO] OK. not hitting docker#18180.
[INFO] Checking whether sendfile(2) is killable.
[INFO] If the container hangs up here, you are still 
       facing the bug that linux<strong i="7">@296291cd</strong> tried to fix.

Ubuntu 14.04๋ฅผ AUFS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋„ ๋ฒ„์ „ 3.13.0-71๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•œ ํ›„์ž…๋‹ˆ๋‹ค.

$ docker info
Containers: 3
Images: 18
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 24
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-71-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 1
Total Memory: 490 MiB
Name: myrunner
ID: MLBL:bla:blah

@ebpitts Ubuntu์˜ ์ปค๋„ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‹ค์ œ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ๋ช…์‹œ ์ ์œผ๋กœ ์ €์žฅ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„, ํฅ๋ฏธ๋กœ์šด devicemapper ์—์„œ /var/default/docker :

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --storage-driver=devicemapper"

docker info ์‹คํ–‰ํ•˜์—ฌ docker ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.

$ docker info
Containers: 1
Images: 16
Server Version: 1.9.1
Storage Driver: devicemapper
 Pool Name: docker-8:1-399761-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem:
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.817 GB
 Data Space Total: 107.4 GB
 Data Space Available: 35.25 GB
 Metadata Space Used: 2.74 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.145 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.77 (2012-10-15)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-71-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 1
Total Memory: 490 MiB
Name: myrunner
ID: MLBL:bla:blah

๋‚˜๋Š” ์—ฌ์ „ํžˆ akihirosuda/test18180:latest ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€์— ๋งค๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

์›์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Ubuntu 14 ์ƒ์ž์—์„œ Docker 1.8.3 ( apt-get ์—†์ด๋Š” ์‰ฝ์ง€ ์•Š์Œ)์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ... ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„์œ„ํ•œ ... ์ €๋Š” ๋‹ค์‹œ ์‚ฌ์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค (์ œ๋ฐœ ์ฐธ๊ณ  ์ด์ „์—๋„ ์ปค๋„์„ 3.13.0-71-generic ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค (์œ„ ์ฐธ์กฐ).

https://get.docker.com/builds/Linux/x86_64/docker-1.8.3 ์—์„œ 1.8.3 ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์„ค์น˜ ํ•œ ๋‹ค์Œ /usr/bin/docker ๋กœ ์ด๋™ํ•˜๊ณ  sudo chmod +x /usr/bin/docker ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์›์‹œ sysvinit-debian ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์™€ /etc/init.d check_init() ๋ณธ๋ฌธ์„ ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•œ ๋‹ค์Œ echo '' ๋กœ ๋ฐ”๊พธ๊ณ  /etc/init.d ๋“œ๋กญํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ln -s /etc/init.d/docker /etc/rc2.d/S99docker ๋กœ ๋ถ€ํŒ… ์‹œ์ž‘์‹œ ๋ฃจํŠธ๋กœ ์‹คํ–‰๋˜๋„๋ก ์„ค์ •ํ•˜๊ณ  sudo reboot . ๊ทธ ํ›„ ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜์—์„œ ๋ถ€ํŒ… ํ•  ๋•Œ ๋„์ปค 1.8.3 ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋„์ปค ์›น ์‚ฌ์ดํŠธ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜ ํŽ˜์ด์ง€์— ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๊ฐ€ ์‹ค์ œ๋กœ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“ .

$ service docker status
 * Docker is running

$ docker version
Client:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   f4bf5c7
 Built:        Mon Oct 12 18:01:15 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   f4bf5c7
 Built:        Mon Oct 12 18:01:15 UTC 2015
 OS/Arch:      linux/amd64

$ docker info
Containers: 4
Images: 38
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 46
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-71-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 1
Total Memory: 490 MiB
Name: runner
ID: BLAH

์—ฌ๊ธฐ ๋ชจ๋‘ ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค- $ docker run -it hello-world ์ œ๋Œ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. akihirosuda/test18180 ์‹คํ–‰ Setting up ca-certificates-java ์— ๊ฐ‡ํžˆ์ง€ ์•Š๊ณ  ์›๋ž˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ €๋Š” Ubuntu 15.04 vivid, Linux 3.19.0-42-generic์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์˜ํ–ฅ์„๋ฐ›์Šต๋‹ˆ๋‹ค.

์˜ค๋ฒ„๋ ˆ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— (RHEL ๊ฒŒ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค) ์˜ˆ๋น„ ๋“œ๋ผ์ด๋ธŒ์— btrfs ํŒŒํ‹ฐ์…˜์„ ๋งŒ๋“ค๊ณ  / var / lib / docker์— ๋งˆ์šดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค (์ด์ „์— docker ๋ฐ๋ชฌ ์ค‘์ง€). Docker๋Š” ์ด์ œ btrfs๋ฅผ ์ฆ๊ฒ๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ @akihirosuda ์˜ ์ด๋ฏธ์ง€๋Š” ์—ฌ์ „ํžˆ ๋‘ ๋ฒˆ์งธ ๊ฒ€์‚ฌ์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค (์ด์ƒํ•œ).

๋ฟก ๋นต๋€จ
test18180 ์ด๋ฏธ์ง€๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ์ด์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ ๊ฒ€์‚ฌ ( Checking whether sendfile(2) is killable. )๋Š” ์ด์ „ ์ปค๋„์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜๋ ค๋ฉด 296291cd์˜ ์ตœ์‹  ์ปค๋„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

| AUFS? | ์ปค๋„์— 296291cd๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? | ์˜ˆ์ƒ ๊ฒฐ๊ณผ |
| --- | --- | --- |
| Y | Y | ์ค‘๋‹จ (์ฒซ ๋ฒˆ์งธ ํ™•์ธ : Checking whether hitting docker#18180. ) |
| Y | N | ์ค‘๋‹จ (2 ์ฐจ ํ™•์ธ : Checking whether sendfile(2) is killable. ) |
| N | Y | ํŒจ์Šค |
| N | N | ์ค‘๋‹จ (2 ์ฐจ ํ™•์ธ : Checking whether sendfile(2) is killable. ) |

@cfstras ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@cfstras , ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๋ฉฐ # 19073์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

@mikeatlas RE : https://github.com/docker/docker/issues/18180#issuecomment -168111226

ํŽธ์ง‘ํ•˜๋‹ค:
์ด์ „์—๋Š” ์ปค๋„ ๋ฒ„์ „์„ ๋ณ€๊ฒฝ ํ•œ ํ›„ docker๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์ž˜๋ชป ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์ปค๋„์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ํ•œ ๋‹ค์Œ docker๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ฉด์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get ๋„์ปค ์—”์ง„ ์ œ๊ฑฐ
sudo apt-get install linux-image-extra-3.13.0-71-generic
curl -sSL https://get.docker.com/ | sh

@lwcolton ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค. linux-image-extra-3.13.0-71-generic ๋Š” ์ œ๊ฐ€ ์„ค์น˜ํ•˜๋ ค๊ณ  ์ƒ๊ฐํ•œ ํŒจํ‚ค์ง€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๋‚˜์ค‘์— ์ผ๋ฐ˜ ์ถ”๊ฐ€ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค) .... ๊ทธ๋ž˜๋„ AUFS ๋ชจ๋“ˆ์ด ๋น„๊ต์  ์ตœ๊ทผ์˜ 3.13.0-71 ์ปค๋„์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Docker 1.8.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ๋„ ๊ทธ๋ฆฌ ๊ณ ํ†ต์Šค๋Ÿฝ์ง€ ์•Š์•˜๊ณ , ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค๋ฉด ์ผ์ฃผ์ผ ์ค‘ ์–ธ์ œ๋“ ์ง€ Linux ์ปค๋„์„ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค Docker๋ฅผ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@dschep OverlayFS๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด Linux์—์„œ ์ปค๋„ ๋ฒ„์ „ 3.18 +๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ Docker์˜ ํŽ˜์ด์ง€์— ์ธ์šฉ ๋œ ๋Œ€๋กœ _OverlayFS๊ฐ€ ์œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์•„์ง ๋น„๊ต์  ์ Š์Šต๋‹ˆ๋‹ค.

@mikeatlas ์ด๊ฒƒ์ด ์ง€๊ธˆ๊นŒ์ง€ OverlayFS์—์„œ ๊ฐ€์žฅ ํฐ ์ œํ•œ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. "_ ๋”ฐ๋ผ์„œ ์˜ค๋ฒ„๋ ˆ์ด ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Docker ํ˜ธ์ŠคํŠธ์˜ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ yum์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ._".

@brunoborges yum์€ ํ˜„์žฌ

์ด ๋ฌธ์ œ๋„ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ†ตํ™” ์ถ”์ ์€ ์˜๋ฅ˜๋ฅผ ์–ธ๊ธ‰ํ•˜์ง€๋งŒ ์˜๋ฅ˜๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด๋„ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. devicemapper๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

dmesg :

[ 2761.400178] INFO: task flake8:4231 blocked for more than 120 seconds.
[ 2761.403014]       Not tainted 3.13.0-74-generic #118-Ubuntu
[ 2761.405419] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 2761.408741] flake8          D ffff8807707d3180     0  4231   1798 0x00000000
[ 2761.408745]  ffff8806bcb07c70 0000000000000082 ffff880035b34800 ffff8806bcb07fd8
[ 2761.408748]  0000000000013180 0000000000013180 ffff880035b34800 ffff8806b95054f8
[ 2761.408750]  ffff8806b95054fc ffff880035b34800 00000000ffffffff ffff8806b9505500
[ 2761.408752] Call Trace:
[ 2761.408759]  [<ffffffff81729499>] schedule_preempt_disabled+0x29/0x70
[ 2761.408762]  [<ffffffff8172b305>] __mutex_lock_slowpath+0x135/0x1b0
[ 2761.408765]  [<ffffffff811c903e>] ? lookup_fast+0x14e/0x2c0
[ 2761.408767]  [<ffffffff8172b39f>] mutex_lock+0x1f/0x2f
[ 2761.408770]  [<ffffffff811ca9cd>] do_last+0x2bd/0x1200
[ 2761.408772]  [<ffffffff8131666b>] ? apparmor_file_alloc_security+0x5b/0x180
[ 2761.408776]  [<ffffffff812d8c86>] ? security_file_alloc+0x16/0x20
[ 2761.408779]  [<ffffffff811cde8b>] path_openat+0xbb/0x640
[ 2761.408782]  [<ffffffff8109ac3a>] ? try_to_wake_up+0x1fa/0x2c0
[ 2761.408785]  [<ffffffff811ce4af>] ? getname_flags+0x4f/0x190
[ 2761.408787]  [<ffffffff811cf27a>] do_filp_open+0x3a/0x90
[ 2761.408790]  [<ffffffff811dc0d7>] ? __alloc_fd+0xa7/0x130
[ 2761.408793]  [<ffffffff811bd839>] do_sys_open+0x129/0x280
[ 2761.408795]  [<ffffffff811bd9ae>] SyS_open+0x1e/0x20
[ 2761.408798]  [<ffffffff8173575d>] system_call_fastpath+0x1a/0x1f
root# docker info
Containers: 14
Images: 565
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 593
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-74-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 16
Total Memory: 29.44 GiB
Name: ...
ID: ...
Username: ...
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

์ถ”์‹  auxfg :

9013       4195  0.0  0.0 175808 24012 ?        Ssl  Jan08   0:01  \_ /usr/local/bin/python3.4 /usr/local/bin/flake8 .
9013       4224 99.9  0.0      0     0 ?        Zl   Jan08 1042:10  |   \_ [flake8] <defunct>
9013       4230  0.0  0.0      0     0 ?        Z    Jan08   0:00  |   \_ [flake8] <defunct>
root      14058  0.0  0.0 171780 21960 ?        Ssl  03:33   0:00  \_ /usr/local/bin/python3.5 /usr/local/bin/flake8 .
root      14148 99.9  0.0      0     0 ?        Zl   03:33 639:25      \_ [flake8] <defunct>

์ด ๋ฌธ์ œ๋Š” AUFS ์—…์ŠคํŠธ๋ฆผ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. boot2docker๋Š” ์ˆ˜์ • ์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์œผ๋ฉฐ (๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ณต ์˜ˆ์ •) ์˜ํ–ฅ์„๋ฐ›๋Š” boot2docker๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋Š” ์—…๋ฐ์ดํŠธ ๋œ AUFS ๋ฆด๋ฆฌ์Šค๋ฅผ ์ ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. : +1 :

@tianon ์—…์ŠคํŠธ๋ฆผ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์žˆ์Šต๋‹ˆ๊นŒ?

http://permalink.gmane.org/gmane.linux.file-systems.aufs.user/5345 ๋Š” ์—…์ŠคํŠธ๋ฆผ ๋ฆด๋ฆฌ์Šค ๋ฐœํ‘œ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ด์ƒ์˜ ๋…ผ์˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

http://comments.gmane.org/gmane.linux.file-systems.aufs.user/5337 ์— ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ฐฐ๊ฒฝ ๋…ผ์˜๊ฐ€ ๋” ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด ๋ฌธ์ œ๋Š” AUFS ์—…์ŠคํŠธ๋ฆผ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. boot2docker๋Š” ์ˆ˜์ • ์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์œผ๋ฉฐ (๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ณต ์˜ˆ์ •) ์˜ํ–ฅ์„๋ฐ›๋Š” boot2docker๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋Š” ์—…๋ฐ์ดํŠธ ๋œ AUFS ๋ฆด๋ฆฌ์Šค๋ฅผ ์ ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. : +1 :

์ข‹์€.

Docker Hub์—์„œ ๋ฒ„๊ทธ๊ฐ€์žˆ๋Š” AUFS ๋ฒ„์ „์ด ์‚ฌ์šฉ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

@tianon "์—…๋ฐ์ดํŠธ ๋œ AUFS ๋ฆด๋ฆฌ์Šค ์ ์šฉ"์€ boot2docker๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž (์ฃผ๋กœ b2d๊ฐ€ ๋นŒ๋“œ ๋œ Mac OS X์—์„œ ๊ฐœ๋ฐœ์ค‘์ธ docker ์—”์ง„ _not_๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ)๋ฅผ ์œ„ํ•ด Linux ์ปค๋„ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด AUFS ํŒจ์น˜ ... ์•„๋‹ˆ๋ฉด ... ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์„ค์น˜ / ์‚ฌ๋žŒ์ด ์˜ํ–ฅ์„ ๋ฐ›๋Š”์ง€ ๊ณ ๋ คํ•  ๋•Œ, AUFS๋ฅผ 4.1.13+๋กœ ํŒจ์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ / ์ตœ์†Œํ•œ์˜ ์ง€์นจ์„ ๋ˆ„๊ตฌ๋“ ์ง€ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 4.1.13+์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ ๋Š” ํ™•์‹คํžˆ ์ฝ๊ธฐ์— ์‚ฌ์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํŠน์ • ์ˆ˜์ •์„ ์œ„ํ•ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ์ง์ ‘ ํŒจ์น˜ํ•˜๋Š” ๊ฒƒ์€ ๋งˆ์Œ์ด ์•ฝํ•œ ์‚ฌ๋žŒ์„์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ด boot2docker.iso ๋นŒ๋“œํ•˜๊ณ  ~/.docker/machine/cache ๋กœ ์ƒˆ VM์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น VM์ด boot2docker ์˜ ์ƒˆ ๋ณต์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค docker-machine .

์ด boot2docker.iso๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ~ / .docker / machine / cache์— ๋„ฃ๊ณ  VM์ด์ด boot2docker์˜ ์ƒˆ ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•  docker-machine์œผ๋กœ ์ƒˆ VM์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์œผ๋กœ ์˜ˆ, ์ž‘๋™ํ•˜์ง€๋งŒ ๋” ๋‚˜์€ ์˜ต์…˜์€ --virtualbox-boot2docker-url . ์˜ˆ :

$ docker-machine create -d \
    --virtualbox-boot2docker-url file://$(pwd)/boot2docker.iso \
    newvm

์•„, ์„ค๋ช… ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์ด๊ฒƒ์€ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

AUFS๋ฅผ Canonical๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์š”์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043

1.9.1 ์— ์ˆ˜์ • ์‚ฌํ•ญ์ด์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” boot2docker์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ํ•˜๋‹ค. @AkihiroSuda boot2docker image ๋กœ ๊ณ„์†ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๊ณ ๋งˆ์›Œ์š”!

์˜ˆ,์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ 1.9.1 ์ดํ›„์ž…๋‹ˆ๋‹ค. @tianon ์€ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ณ„ํš๋˜์–ด ์žˆ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ docker ์ถœ์‹œ์™€ ๋™์‹œ์— ์ถœ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ถœ์‹œ์— 2 ์ฃผ์ฃผ๊ธฐ๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์œผ๋ฏ€๋กœ ์ถœ์‹œ๊ฐ€ ์ž„๋ฐ• ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ @AkihiroSuda ๋Š” ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ์ˆ˜์ •

์ด๋ฏธ์ง€์— ๋Œ€ํ•œ @AkihiroSuda ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

+1 Debian Wheezy ๋ฐ Ubuntu 15.04

@jakirkham ๋ฆด๋ฆฌ์Šค๋Š” 2 ๊ฐœ์›”์ฃผ๊ธฐ์ด์ง€๋งŒ 1.10-rc1์„ ๊ณง ๋ฆด๋ฆฌ์Šค ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. boot2docker๋„ ์ด์— ๋Œ€ํ•œ rc1 ๋ฒ„์ „์„ ๊ฐ–๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

์•„, ๋ฏธ์•ˆ ํ•ด์š”. ๋˜‘๋ฐ”๋กœ ์„ค์ •ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, @tiborvass. @shusso๋ฅผ ์žก์•˜์Šต๋‹ˆ๊นŒ?

@jakirkham , ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค : +1 :

์ด ์ˆ˜์ •์„ ์‚ฌ์šฉํ•˜์—ฌ docker-machine ํ˜ธ์ŠคํŠธ ๊ฐ€์ƒ ์ƒ์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/AkihiroSuda/boot2docker/releases/tag/v1.9.1-fix1

ํ˜„์žฌ --driver google ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ Google ์ปดํ“จํŒ… ์—”์ง„์—์„œ ๋งŒ๋“  docker-machine ํ˜ธ์ŠคํŠธ์—์ด ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Google ๋“œ๋ผ์ด๋ฒ„์—๋Š” ๋‹ค๋ฅธ .iso๋ฅผ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์ด ์—†์œผ๋ฏ€๋กœ ์œ„์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ Google ์ปดํ“จํŒ…์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ๋“ ์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” ์‹ค์ œ๋กœ Google์ด ๋ฌธ์ œ๋ฅผ ์•Œ๊ณ  ์žˆ๊ฑฐ๋‚˜ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ์ œ์ถœํ•ด์•ผํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

Google Docker-machine ๋“œ๋ผ์ด๋ฒ„๋Š” Docker ๋˜๋Š” Google์—์„œ ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๊นŒ?

๋“œ๋ผ์ด๋ฒ„๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/docker/machine/tree/master/drivers/google

Google Compute์—์„œ ์‹คํ–‰๋˜๋Š” VM ์ด๋ฏธ์ง€๊ฐ€ ์—ฌ๊ธฐ์— ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

https://github.com/docker/machine/blob/master/drivers/google/google.go#L35

๊ทธ๊ฑด:

" https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1510-wily-v20151114 "

์œ„์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๋ฉด ์ž ์žฌ์  ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด @nathanleclaire๊ฐ€ ์ œ์•ˆํ•œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker-machine create -d google --engine-storage-driver ์˜ค๋ฒ„๋ ˆ์ด ์˜ค๋ฒ„๋ ˆ์ด

docker-machine ์šฉ Google ๋“œ๋ผ์ด๋ฒ„์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” "--google-machine-image"์˜ต์…˜๋„์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ช…๋ น :

$ gcloud compute ์ด๋ฏธ์ง€ ๋ชฉ๋ก

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐœ ์ด๋ฏธ์ง€๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ตœ๊ทผ์— ์ƒˆ๋กœ์šด ์šฐ๋ถ„ํˆฌ wily๊ฐ€ ์˜ฌ๋ผ ์™”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด :

$ docker-machine create -d google --engine-storage-driver ์˜ค๋ฒ„๋ ˆ์ด ์˜ค๋ฒ„๋ ˆ์ด

์ผํ–ˆ๋‹ค. ๋˜ํ•œ ๊ณ ์ • ๋œ boot2docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋จธ์‹  ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ ์ด๋ฅผ docker-machine๊ณผ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

boot2docker์—์„œ ์ด๊ฒƒ์„ ๋ˆ„๋ฅด๋Š” ์‚ฌ๋žŒ์—๊ฒŒ RC๋ฅผ ๋„˜๊ฒจ์ฃผ์„ธ์š”.
https://github.com/tianon/boot2docker-legacy/releases/tag/v1.10.0-rc1 a
์‚ฌ๊ฒฉ. : +1 :

@tianon ๋‚˜๋Š” ๋‹ค์Œ ์ด๋ฏธ์ง€ trecloux / docker-java-zombie๋กœ ๊ทธ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์ข‹์•„ ๋ณด์ธ๋‹ค .... ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ akihirosuda / test18180 ์ด๋ฏธ์ง€์™€ ํ•จ๊ป˜ ๋ฉˆ ์ถฅ๋‹ˆ ๋‹ค.

@AkihiroSuda ์ง„์ง€ํ•˜๊ฒŒ ์ธ์ƒ์ ์ธ ์ž‘ํ’ˆ์ž…๋‹ˆ๋‹ค.

@trecloux btrfs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  sendfile์— ๋Œ€ํ•ด ์ค‘๋‹จ๋ฉ๋‹ˆ๊นŒ?
๊ทธ๋ ‡๋‹ค๋ฉด ์•Œ๋ ค์ง„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค : https://github.com/docker/docker/issues/19073

@AkihiroSuda ์ €๋Š” aufs์™€ ํ•จ๊ป˜ v1.10.0-rc1 boot2docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker info
Containers: 1
Images: 2
Server Version: 1.10.0-rc1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 35
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.15-boot2docker
Operating System: Boot2Docker 1.10.0-rc1 (TCL 6.4.1); master : c4985d5 - Fri Jan 15 19:29:39 UTC 2016
CPUs: 1
Total Memory: 996.2 MiB
Name: b2d10rc1
ID: 34JP:KEQA:O4QJ:U2SE:BO2V:43JG:NL57:ORK7:HHMY:2P4U:2E3V:7B4I
Debug mode (server): true
 File Descriptors: 10
 Goroutines: 22
 System Time: 2016-01-19T08:24:26.145616582Z
 EventsListeners: 0
 Init SHA1:
 Init Path: /usr/local/bin/docker
 Docker Root Dir: /mnt/sda1/var/lib/docker
Username: trecloux
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox

๋‹ค์Œ์€ ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

$ docker run -ti --rm akihirosuda/test18180
[INFO] Checking whether hitting docker#18180.
....................................................................................................
[INFO] OK. not hitting docker#18180.
[INFO] Checking whether sendfile(2) is killable.
[INFO] If the container hangs up here, you are still facing the bug that linux<strong i="10">@296291cd</strong> tried to fix.
/test.sh: line 22:  1008 Killed                  /sendfile-test

@trecloux ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค. ์•„๋ฌด ๊ฒƒ๋„ ๋Š์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@AkihiroSuda ์ข‹์•„, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์˜ ๋…ธ๋ ฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :-)
๊ทธ๋ž˜์„œ @tianon : 1.10.0-rc1์ด ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. CA ์ธ์ฆ์„œ ์„ค์ •์— ๋งค๋‹ฌ๋ฆฌ๊ณ  CPU๋Š” ๋ฏธ์ณ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค ...

$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      darwin/amd64

MacOSX 10.11.2 ์‹คํ–‰

@sgoendoer ๋Š” @AkihiroSuda ๋‹˜ ์˜ ์ด๋ฏธ์ง€๋ฅผ docker-machine create --driver virtualbox --virtualbox-boot2docker-url="file:/path_to_the_image" nameofmachine ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

boot2docker๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ์–ด๋–ค ์ปค๋„ ๋ฒ„์ „์œผ๋กœ ์ˆ˜์ • ๋ ์ง€ ์•„์‹ญ๋‹ˆ๊นŒ? 3.13.0-71์ด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ณ , 3.13.0-74 ๋ฐ 3.13.0-76์ด ์†์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ...

์—ฌ๊ธฐ์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๊ฒƒ์— ๋Œ€ํ•œ ์‰ฌ์šด ํ•ด๊ฒฐ์ฑ…์ด ์—†์Šต๋‹ˆ๊นŒ?
RC ๋ฒ„์ „์—์„œ ์ˆ˜์ • ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ์ง€๊ธˆ ์‹œ๋„ํ•ด๋ณด์„ธ์š”. ์•„๋งˆ๋„ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• (์—…๋ฐ์ดํŠธ : 1 ์›” 21 ์ผ 15:33 UTC)

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค (๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..) |
| Boot2Docker | : white_check_mark : v1.10.0-rc1๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : arrow_down : ์ปค๋„์„ 3.13.0-71 ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : arrow_down : ์ปค๋„์„ 3.19.0-39 ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ (: ๊ฒฝ๊ณ  : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| Ubuntu 15.10 | : arrow_down : ์ปค๋„์„ 4.2.0-18 ์ด์ƒ์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7/8 | : arrow_down : ์ปค๋„์„ ๋ฆด๋ฆฌ์Šค 3.16.0 ( apt-get install linux-image-3.16.0-4-amd64=3.16.7-ckt11-1+deb8u3 ) ๋˜๋Š” ์ด์ „ ๋ฒ„์ „ 3.16.7-ckt11๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_medium_square : ์ง„ํ–‰ ์ค‘ | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | ์•„์ง ํ™•์ธ๋˜์ง€ ์•Š์Œ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

@AkihiroSuda v1.10.0-rc1์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ข€๋น„๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ์ž…๋‹ˆ๊นŒ?

root     21996  0.0  0.0      0     0 ?        Ss   08:47   0:00  \_ [bash]
root     23810 99.7  0.0      0     0 ?        Zl   08:50   7:42  |   \_ [phantomjs] <defunct>
wait4(-1, 
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 469
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f60c9ec3d40}, {0x4438a0, [], SA_RESTORER, 0x7f60c9ec3d40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
close(3)                                = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7ffc5ec19e58, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
read(0, "", 1)                          = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(0)   

์ž ์‹œ ํ›„ ์‚ฌ๋ผ์ง„ ํ”„๋กœ์„ธ์Šค์—์„œ strace๋ฅผ ์‹œ์ž‘ํ•œ ํ›„ ์ด๊ฒƒ์ด ๋‚˜ํƒ€ ๋‚ฌ์ง€๋งŒ ๊ทธ ํ›„์—๋„ ์ข€๋น„๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

root     21996  0.0  0.0      0     0 ?        Ss   08:47   0:00  \_ [bash]
root     23810 99.9  0.0      0     0 ?        Zl   08:50  26:06      \_ [phantomjs] <defunct>

์ด๋ฒˆ์—๋Š” ๋” ์ด์ƒ strace๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋”๋ผ๋„ ์—ฌ์ „ํžˆ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
: ~ # strace -p 23810

attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted

๋ฟก ๋นต๋€จ
https://github.com/docker/docker/issues/18180#issuecomment -166186061์—์„œ์™€ ๊ฐ™์ด LWP ์Šคํƒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋˜ํ•œ cmdline๊ณผ phantomjs์˜ ๋ฒ„์ „์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. phantomjs ๋ฒ„์ „ : 1.9

cmdline

$builddir/node_modules/phantomjs/lib/phantom/bin/phantomjs $builddir/node_modules/testem/assets/phantom.js http://localhost:7357/3891
:~# cat /proc/21996/stack # bash
[<ffffffff8106fee9>] do_wait+0x1e9/0x260
[<ffffffff81071042>] SyS_wait4+0xa2/0x110
[<ffffffff8106ecd0>] child_wait_callback+0x0/0x70
[<ffffffff810f945a>] zap_pid_ns_processes+0xfa/0x190
[<ffffffff81070b26>] do_exit+0x8e6/0xa80
[<ffffffff81070d46>] do_group_exit+0x46/0xb0
[<ffffffff81070dc7>] SyS_exit_group+0x17/0x20
[<ffffffff8154e50d>] system_call_fast_compare_end+0x10/0x15
[<ffffffffffffffff>] 0xffffffffffffffff

:~# cat /proc/23810/stack #phantomjs
[<ffffffff81070935>] do_exit+0x6f5/0xa80
[<ffffffff81070d46>] do_group_exit+0x46/0xb0
[<ffffffff8107ffd3>] get_signal_to_deliver+0x233/0x610
[<ffffffff81014507>] do_signal+0x67/0xad0
[<ffffffff811bcf38>] new_sync_read+0x78/0xb0
[<ffffffff8101e045>] read_tsc+0x5/0x20
[<ffffffff810d2442>] ktime_get_ts+0x42/0xd0
[<ffffffff811d091e>] poll_select_copy_remaining+0xfe/0x150
[<ffffffff8101501b>] do_notify_resume+0xab/0xc0
[<ffffffff8154e7ca>] int_signal+0x12/0x17
[<ffffffffffffffff>] 0xffffffffffffffff

๋˜ํ•œ ์ž‘์—… ์Šคํƒ :

:~# cat /proc/23810/task/23839/stack 
[<ffffffff8114ef6a>] __generic_file_write_iter+0x14a/0x360
[<ffffffff8114f1ca>] generic_file_write_iter+0x4a/0xd0
[<ffffffff811bd0ec>] new_sync_write+0x6c/0xb0
[<ffffffff811bd080>] new_sync_write+0x0/0xb0
[<ffffffff811bd0fb>] new_sync_write+0x7b/0xb0
[<ffffffffa050c377>] xino_fwrite.part.28+0x67/0xb0 [aufs]
[<ffffffffa050c4b5>] xino_fwrite+0x75/0x90 [aufs]
[<ffffffff811fa97a>] fsnotify_clear_marks_by_inode+0x2a/0x110
[<ffffffff811d84b8>] iput+0x48/0x1b0
[<ffffffffa052b780>] au_xigen_inc+0x50/0xa0 [aufs]
[<ffffffffa050d33d>] au_xino_delete_inode+0x1ad/0x220 [aufs]
[<ffffffff811e5143>] __inode_wait_for_writeback+0x63/0xc0
[<ffffffffa051f485>] au_iinfo_fin+0xc5/0x1d0 [aufs]
[<ffffffffa0507cae>] aufs_destroy_inode+0xe/0x30 [aufs]
[<ffffffff811cab10>] do_unlinkat+0x170/0x2c0
[<ffffffff8108d4f1>] task_work_run+0xa1/0xc0
[<ffffffff81015025>] do_notify_resume+0xb5/0xc0
[<ffffffff8154e50d>] system_call_fast_compare_end+0x10/0x15
[<ffffffffffffffff>] 0xffffffffffffffff

๋˜ํ•œ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด :

uname -a
Linux mg_build_server_12 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u2~bpo70+1 (2016-01-03) x86_64 GNU/Linux

:~# docker info
Containers: 34
 Running: 9
 Paused: 0
 Stopped: 25
Images: 1058
Server Version: 1.10.0-rc1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 1197
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins: 
 Volume: local
 Network: null host bridge
Kernel Version: 3.16.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 23.58 GiB

@wzrdtales ๋ฐ๋น„์•ˆ์—์„œ Docker (Boot2Docker ์•„๋‹˜) v1.10.0-rc1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
๋ฌธ์ œ๋Š” Docker๊ฐ€ ์•„๋‹Œ ์ปค๋„ ๋ฒ„๊ทธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ๋น„์•ˆ ์ปค๋„์„ ์กฐ์‚ฌ ์ค‘์ด๋ฉฐ https://github.com/docker/docker/issues/18180#issuecomment -173436661 ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@AkihiroSuda y, ๊ทธ๊ฒƒ์€ ๋ฐ๋น„์•ˆ์— ์ง์ ‘ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์˜ ๋ชฉ๋ก์—์„œ ๋ฐ๋น„์•ˆ ํฌ์ธํŠธ๋ฅผ ๊ฐ๋…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€์  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

๋ฐ๋น„์•ˆ์˜ ๊ฒฝ์šฐ v3.16.7-ckt20 ๊ธฐ๋ฐ˜ ์ปค๋„์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
http://kernel.ubuntu.com/git/ubuntu/linux.git/tag/?h=linux-3.16.y&id=v3.16.7-ckt20
http://kernel.ubuntu.com/git/ubuntu/linux.git/commit/?h=linux-3.16.y&id=475a23000dd8d2f264bab9d6eb71a2a6b9d4de72

@wzrdtales ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ckt11 ์ปค๋„์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

@AkihiroSuda : FWIW, v3.16.7-ckt11 ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋ผ๋Š” ๊ถŒ์žฅ ์‚ฌํ•ญ์ด ์•Œ๋ ค์ง„ ๊ณต๊ฐœ ๋ฃจํŠธ ์—์Šค์ปฌ๋ ˆ์ด์…˜์ด์žˆ๋Š” CVE-2016-0728์˜ ์œ„ํ—˜์— ์ฒ˜ํ•˜๊ฒŒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207์„ ํ•‘ํ–ˆ์ง€๋งŒ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ์ฐธ๊ณ 

@zmerlynn ์ง€์  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• (์—…๋ฐ์ดํŠธ : 1 ์›” 26 ์ผ 1:49 UTC)

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..).
AUFS๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปค๋„์„ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ AUFS v20160111 ์ด์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. |
| Boot2Docker | : white_check_mark : v1.10.0-rc1๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : arrow_down : ์ปค๋„์„ 3.13.0-71 ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : arrow_down : ์ปค๋„์„ 3.19.0-39 ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ (: ๊ฒฝ๊ณ  : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| Ubuntu 15.10 | : arrow_down : ์ปค๋„์„ 4.2.0-18 ์ด์ƒ์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7/8 | : arrow_down : ์ปค๋„์„ ๋ฆด๋ฆฌ์Šค 3.16.0 ( apt-get install linux-image-3.16.0-4-amd64=3.16.7-ckt11-1+deb8u3 ) ๋˜๋Š” ์ด์ „ ๋ฒ„์ „ 3.16.7-ckt11๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

: warning : ์ปค๋„ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ๋Š” ๋ณด์•ˆ ์œ„ํ—˜์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : CVE-2016-0728).

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_medium_square : ์ง„ํ–‰ ์ค‘ | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | : white_medium_square : ์ง„ํ–‰ ์ค‘ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค. mongod๋Š” 100 % CPU๋กœ ์‹คํ–‰๋˜๋Š” R ์ƒํƒœ์— ๊ฐ‡ํ˜€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ๋‚˜๋ฅผ ์ด๋„๋Š” ์˜ฌ๋ฐ”๋ฅธ ์Šคํƒ ์ถ”์ ์„ ์–ป๋Š” ์‹ค์ œ ํŠธ๋ฆญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

echo "l"> / proc / sysrq-trigger

๊ฑฐ๊ธฐ์—์„œ CPU 2๊ฐ€ AUFS์— ์˜ํ•ด ๋ฌดํ•œ ๋ฃจํ”„์— ๊ฐ‡ํ˜€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[38841.947453] CPU: 2 PID: 25084 Comm: mongod Not tainted 4.2.0-25-generic #30~14.04.1-Ubuntu
[38841.947454] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007
[38841.947455] task: ffff88037383cb00 ti: ffff880097afc000 task.ti: ffff880097afc000
[38841.947456] RIP: 0010:[<ffffffff813b6fe0>]  [<ffffffff813b6fe0>] iov_iter_init+0x0/0x40
[38841.947457] RSP: 0018:ffff880097aff920  EFLAGS: 00000246
[38841.947458] RAX: 0000000000002cd0 RBX: ffff88037b289700 RCX: 0000000000000001
[38841.947458] RDX: ffff880097aff928 RSI: 0000000000000001 RDI: ffff880097aff960
[38841.947459] RBP: ffff880097aff998 R08: 0000000000000004 R09: 0000000000000000
[38841.947460] R10: 0000000000000006 R11: 0000000000000005 R12: ffff880097affa70
[38841.947461] R13: ffff880097affa6c R14: ffff88037b289700 R15: ffffffff811ea830
[38841.947462] FS:  00007f7f2acf2b80(0000) GS:ffff88041fd00000(0000) knlGS:0000000000000000
[38841.947463] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[38841.947463] CR2: 00007f47dbdb0000 CR3: 00000000a3995000 CR4: 00000000000006e0
[38841.947464] Stack:
[38841.947465]  ffffffff811ea8a9 ffff880097affa6c 0000000000000004 ffff88037b289700
[38841.947466]  0000000000002cd0 0000000000000000 0000000000000000 0000000000000000
[38841.947467]  0000000000000003 0000000000000000 0000000000000004 ffff880097aff928
[38841.947467] Call Trace:
[38841.947468]  [<ffffffff811ea8a9>] ? new_sync_write+0x79/0xb0
[38841.947469]  [<ffffffffc03fbbe3>] do_xino_fwrite+0x53/0x90 [aufs]
[38841.947470]  [<ffffffffc03fc05e>] xino_fwrite.part.27+0xe/0x10 [aufs]
[38841.947471]  [<ffffffffc03fc15a>] xino_fwrite+0x6a/0x80 [aufs]
[38841.947471]  [<ffffffffc041a634>] au_xigen_inc+0x54/0xa0 [aufs]
[38841.947472]  [<ffffffffc03fceab>] au_xino_delete_inode+0x17b/0x200 [aufs]
[38841.947473]  [<ffffffffc040e167>] au_iinfo_fin+0xc7/0x1c0 [aufs]
[38841.947474]  [<ffffffffc03f7c26>] aufs_destroy_inode+0x16/0x30 [aufs]
[38841.947475]  [<ffffffff8120529c>] destroy_inode+0x3c/0x60
[38841.947476]  [<ffffffff812053db>] evict+0x11b/0x180
[38841.947476]  [<ffffffff81205cb5>] iput+0x175/0x1e0
[38841.947477]  [<ffffffff81200c4d>] __dentry_kill+0x19d/0x1f0
[38841.947478]  [<ffffffff81200e39>] dput+0x199/0x200
[38841.947479]  [<ffffffff811f449a>] path_put+0x1a/0x30
[38841.947480]  [<ffffffff8174dfbd>] unix_release_sock+0x17d/0x2a0
[38841.947480]  [<ffffffff8174e101>] unix_release+0x21/0x40
[38841.947481]  [<ffffffff8169370f>] sock_release+0x1f/0x80
[38841.947482]  [<ffffffff81693782>] sock_close+0x12/0x20
[38841.947483]  [<ffffffff811ecb14>] __fput+0xe4/0x210
[38841.947483]  [<ffffffff811ecc8e>] ____fput+0xe/0x10
[38841.947484]  [<ffffffff8109360b>] task_work_run+0x9b/0xb0
[38841.947485]  [<ffffffff81085a45>] get_signal+0x565/0x600
[38841.947486]  [<ffffffff81014438>] do_signal+0x28/0x9a0
[38841.947487]  [<ffffffff8105d00e>] ? kvm_clock_get_cycles+0x1e/0x20
[38841.947487]  [<ffffffff810e5ede>] ? ktime_get_ts64+0x4e/0xf0
[38841.947488]  [<ffffffff811fe5f9>] ? poll_select_copy_remaining+0xd9/0x120
[38841.947489]  [<ffffffff811ff3bd>] ? SyS_select+0xbd/0xf0
[38841.947490]  [<ffffffff81014e15>] do_notify_resume+0x65/0x80
[38841.947491]  [<ffffffff817bacc4>] int_signal+0x12/0x17
[38841.947492] Code: 6c 83 ea 04 48 83 c7 04 e9 58 ff ff ff b9 6c 6c 00 00 48 83 c7 02 83 ea 02 66 89 4f fe e9 39 ff ff ff 66 0f 1f 84 00 00 00 00 00 <55> 65 48 8b 04 25 44 3b 01 00 48 83 b8 18 c0 ff ff ff 48 89 e
5

do_xino_fwrite๋กœ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ฐ”๋กœ ์—ฌ๊ธฐ๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค!

Debian Stretch์—์„œ๋„ ์ธ์ฆ์„œ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://gist.github.com/clball/738feb46094802a1bcf7
๋ฒ„์ „ ์ •๋ณด : https://gist.github.com/clball/494fe8598dd0cdfd6d10
๋‹ค์Œ์€ dockerfile์ž…๋‹ˆ๋‹ค. https://gist.github.com/8778f8db143478d6c8ab

๊ทธ๋ ‡๋‹ค๋ฉด ์—ฌ๊ธฐ์„œ OSX์˜ ์†”๋ฃจ์…˜์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๋ฏธ ๋„์ปค ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์•„์ง์€ ์•„๋‹ˆ์ง€๋งŒ ์ถœ์‹œ ํ›„๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (https://github.com/tianon/boot2docker-legacy/releases/tag/v1.10.0-rc2)

๋‚˜๋ฅผ์œ„ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์Šคํ† ๋ฆฌ์ง€ ๋ฐฑ์—”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์—ˆ์Šต๋‹ˆ๋‹ค.

/ etc / default / docker์— ์ค„ ์ถ”๊ฐ€
ยก ยก ์ปจํ…Œ์ด๋„ˆ ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค !!

DOCKER_OPTS="--storage-driver=devicemapper"

๋„์ปค ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  / var / lib์—์„œ ๋„์ปค ํด๋”๋ฅผ ์ง€์šด ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋„์ปค ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@ referup-tarantegui ์ฐธ๊ณ ๋กœ devicemapper ๋“œ๋ผ์ด๋ฒ„๋Š” ์‹ค์ œ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ์— ์ง์ ‘ ๋งˆ์šดํŠธํ•˜์ง€ ์•Š๋Š” ํ•œ ์„ฑ๋Šฅ๋ฉด์—์„œ ๋งค์šฐ ์—ด์•…ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค
https://jpetazzo.github.io/assets/2015-03-03-not-so-deep-dive-into-docker-storage-drivers.html#43 https://jpetazzo.github.io/assets/2015 -03-03-not-so-deep-dive-into-docker-storage-drivers.html # 44
๊ณผ
https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ "์žฅ์น˜ ๋งคํผ ๋ฐ Docker ์„ฑ๋Šฅ"

๋ฆด๋ฆฌ์Šค ํ›„๋ณด 2์— ๋Œ€ํ•œ ๋ฒ„์ „ B๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/boot2docker/boot2docker/releases/tag/v1.10.0-rc2-b

Ubuntu์— ๋Œ€ํ•œ ํ‘œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• (์—…๋ฐ์ดํŠธ : 2 ์›” 3 ์ผ 6:30 UTC)

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..).
AUFS๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปค๋„์„ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ AUFS v20160111 ์ด์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. |
| Boot2Docker | : white_check_mark : v1.10.0-rc3๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : white_check_mark : ์ปค๋„์„ 3.13.0-77.121hf1533043v20160201b1 (PPA)๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : white_check_mark : ์ปค๋„์„ 3.19.0-49.55hf1533043v20160201b1 (PPA)๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.10 | : white_check_mark : ์ปค๋„์„ 4.2.0-27.32hf1533043v20160201b1 (PPA)๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7/8 | : arrow_down : ์ปค๋„์„ ๋ฆด๋ฆฌ์Šค 3.16.0 ( apt-get install linux-image-3.16.0-4-amd64=3.16.7-ckt11-1+deb8u3 ) ๋˜๋Š” ์ด์ „ ๋ฒ„์ „ 3.16.7-ckt11๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_medium_square : ์ง„ํ–‰ ์ค‘ (์˜ˆ : 2 ์›” 20 ์ผ) | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | : white_medium_square : ์ง„ํ–‰ ์ค‘ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

@AkihiroSuda , v1.10.0-rc2 ๋ฅผ ์˜๋ฏธ

@jakirkham ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๋งํฌ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

rc3๋Š” ๋‚ด ํฌํฌ ๋Œ€์‹  ๊ณต์‹ ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/boot2docker/boot2docker/releases/tag/v1.10.0-rc3

ํฌํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋งŒ๋“  ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ
docker-machine 0.5 ์ดํ›„๋กœ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฏ€๋กœ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์œ„๋กœ ํ–ฅํ•˜์—ฌ. :๋ฏธ์†Œ:

btw, Ubuntu PPA์— ๋Œ€ํ•ด ์œ„์— ๋‚˜์—ด๋œ chiluk ํŒจ์น˜ ๋ฒ„์ „์œผ๋กœ ์ปค๋„์„ ์ „ํ™˜ํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž๋ฅผ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Ubuntu 14.04, linux-image-3.13.0-77-generic ๊ฒฝ์šฐ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ sudo apt-get update
$ sudo apt-get install software-properties-common -y
$ sudo add-apt-repository ppa:chiluk/1533043
$ sudo apt-get update
$ sudo apt-get install linux-image-3.13.0-77-generic \
                       linux-image-extra-3.13.0-77-generic -y

๊ทธ๋Ÿฐ ๋‹ค์Œ /etc/default/grub ๊ตฌ์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  sudo update-grub ๋ฅผ ์‹คํ–‰ ํ•œ ๋‹ค์Œ ํŒจ์น˜ ๋œ ์ƒˆ ์ปค๋„ ๋นŒ๋“œ๋กœ ์žฌ๋ถ€ํŒ…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด grub์—์„œ ๋‹ค๋ฅธ ๊ธฐ๋ณธ ์ปค๋„ ์„

์ด ๋ฌธ์ œ๊ฐ€ Docker 1.10.0์— ์กด์žฌํ•˜์ง€ ์•Š์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ OS X 10.11์—์„œ๋„ ๋‚ด ์ƒํ™ฉ์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 1.9.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„์ปค 1.10์—์„œ java ์ค‘๋‹จ ๋œ ์ปจํ…Œ์ด๋„ˆ / ํ”„๋กœ์„ธ์Šค ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

root     30480  0.1  0.0      0     0 ?        Z    16:15   0:00 [update-hosts] <defunct>

@AkihiroSuda ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์ง€๋งŒ (๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!) ๋ฐ๋น„์•ˆ 8 (jessie) ์„œ๋ฒ„์— ์ด์ „ ์ปค๋„์„ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

E: Version '3.16.7-ckt11-1+deb8u3' for 'linux-image-3.16.0-4-amd64' was not found

๋‚ด๊ฐ€ @mikeatlas์„ ์‹œ๋„ ํ•  ๋•Œ ์ œ์•ˆ (BTW๋กœํ–ˆ๋‹ค sudo apt-get install software-properties-common ์–ป์„ sudo add-apt-repository ppa:chiluk/1533043 ๋‚ด๊ฐ€ ์™œ ์„ค์น˜ ์ถ”์ธก ์—…๋ฐ์ดํŠธ ์‹คํŒจ๋ฅผ ์–ป์„ ์ž‘์—…์—) ์ผ์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

$ sudo add-apt-repository ppa:chiluk/1533043
You are about to add the following PPA to your system:
 This ppa contains the proposed fix for 1533043, and I would appreciate testing and results reported back to  LP#1533043.

Thank you,
 More info: https://launchpad.net/~chiluk/+archive/ubuntu/1533043
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp_j6e2_s5/secring.gpg' created
gpg: keyring `/tmp/tmp_j6e2_s5/pubring.gpg' created
gpg: requesting key E2B6D4A9 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp_j6e2_s5/trustdb.gpg: trustdb created
gpg: key E2B6D4A9: public key "Launchpad PPA for Dave Chiluk" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
$ sudo apt-get update
Ign http://ftp.us.debian.org jessie InRelease
Hit http://security.debian.org jessie/updates InRelease
...
Get:15 https://apt.dockerproject.org debian-jessie/main Translation-en [454 B]
Ign https://apt.dockerproject.org debian-jessie/main Translation-en
Err http://ppa.launchpad.net jessie/main amd64 Packages
  404  Not Found
Ign http://ppa.launchpad.net jessie/main Translation-en_US
Ign http://ppa.launchpad.net jessie/main Translation-en
Fetched 8,877 B in 3s (2,935 B/s)
W: Failed to fetch http://ppa.launchpad.net/chiluk/1533043/ubuntu/dists/jessie/main/binary-amd64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

$ sudo apt-get install linux-image-3.13.0-77-generic \
>                        linux-image-extra-3.13.0-77-generic -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-3.13.0-77-generic
E: Couldn't find any package by regex 'linux-image-3.13.0-77-generic'
E: Unable to locate package linux-image-extra-3.13.0-77-generic
E: Couldn't find any package by regex 'linux-image-extra-3.13.0-77-generic'

๋‚ด ๋„์ปค ์ •๋ณด :

$ docker info
Containers: 98
 Running: 9
 Paused: 0
 Stopped: 89
Images: 1415
Server Version: 1.10.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 1371
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.6 GiB
Name: r62
ID: VUJF:KPXB:UXL6:TP3G:75CE:WQND:PJGJ:GG45:MCMI:JTV5:Q3IR:6FHC
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No oom kill disable support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Labels:
 provider=generic

@jamshid software-properties-common ํ•„์š”์— ๋Œ€ํ•œ ํŒ์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

@jamshid : PPA๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  apt-get update ์ˆ˜ํ–‰ ํ•œ ํ›„ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์ปค๋„์„ ํ™•์ธํ•˜๊ณ  ํ™•์ธํ•ฉ๋‹ˆ๋‹ค ... ์ตœ์‹  ๋นŒ๋“œ ( 3.13.0-78 )๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ง์ ‘ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ ํ•œ ํ›„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ค์น˜์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์ปค๋„์„ _can_ ํŒŒ์•…ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ apt-cache search linux-image-3.13.0-7
[... snip older builds ...]
linux-image-3.13.0-77-generic - Linux kernel image for version 3.13.0 on 64 bit x86 SMP

linux-image-3.13.0-77-generic ์ด์ƒ์˜ ์ค„์„ ๋”ฐ๋ผ ๋ฌด์–ธ๊ฐ€๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ค, @jamshid ๋ฐ๋น„์•ˆ 8์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ? ์œ„ ์ฐธ๊ณ  : Downgrade kernel to version 3.16.7-ckt11 of release 3.16.0 (apt-get install linux-image-3.16.0-4-amd64=3.16.7-ckt11-1+deb8u3) or older

Debian 8์—์„œ apt-get install linux-image-3.16.0-4-amd64=3.16.7-ckt11-1+deb8u3 ๋Š”

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '3.16.7-ckt11-1+deb8u3' for 'linux-image-3.16.0-4-amd64' was not found

ckt11 ํŒจํ‚ค์ง€๋ฅผ ์ฐพ๊ธฐ์œ„ํ•œ ํ•œ ์‹œ๊ฐ„ ๋™์•ˆ์˜ ํ™œ๋ฐœํ•œ ๊ฒ€์ƒ‰์ด ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
์ตœ์‹  ๋ฐ๋น„์•ˆ 8 ์ปค๋„์„ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ˆ์ด ์žˆ์œผ์‹ญ๋‹ˆ๊นŒ?

apt-cache policy linux-image-3.16.0-4-amd64
linux-image-3.16.0-4-amd64:
  Installed: 3.16.7-ckt20-1+deb8u3
  Candidate: 3.16.7-ckt20-1+deb8u3
  Version table:
 *** 3.16.7-ckt20-1+deb8u3 0
        500 http://security.debian.org/ jessie/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     3.16.7-ckt20-1+deb8u2 0
        500 http://ftp.debian.org/debian/ jessie/main amd64 Packages
        500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages

@davojan ์ด์ „์— /var/cache/apt/archives ์„ค์น˜๋œ ํŒจํ‚ค์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. dpkg -i <old_package>.deb ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PPA์—์„œ ์ƒˆ ์ปค๋„์„ ์„ค์น˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค (Ubuntu 14.04.3 / Kernel 3.13.0-78-generic / Docker 1.9.1).
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043

๋ˆ„๊ตฌ๋“ ์ง€ Debian (Ubuntu ์•„๋‹˜)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ์ง€์นจ์„ ๋ฐ›์•˜์Šต๋‹ˆ๊นŒ? ๋‚ด apt-get update ์ด์œ ๊ฐ€ ์•„๋ž˜ ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค (ppa repo ์ถ”๊ฐ€ ํ›„) :

W: Failed to fetch http://ppa.launchpad.net/chiluk/1533043/ubuntu/dists/jessie/main/binary-amd64/Packages  404  Not Found

https://launchpad.net/~chiluk/+archive/ubuntu/1533043 ์—์„œ ์šฐ๋ถ„ํˆฌ ํŒจํ‚ค์ง€ ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜

@jamshid Ubuntu ppa๋Š” Debian์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3.16.7-ckt11-1 + deb8u3๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ์ปค๋„์„ ํŒจ์น˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207#47

(๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ•„์š”ํ•˜๋ฉด deb ํŒจํ‚ค์ง€๋ฅผ ์—…๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)

๋ˆ„๊ตฐ๊ฐ€ ์ปค๋„์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์— ์—…๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. deb8u3๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์ƒˆ๋กญ์ง€ ๋งŒ ๋ฒ„๊ทธ๊ฐ€์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„์ด ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋Š” ํ•œ๋™์•ˆ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์ปค๋„์ด ์•„๋งˆ๋„ ๋” ๋‚˜์€ ์†”๋ฃจ์…˜ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•„์š”ํ•œ ๊ฒฝ์šฐ :
https://wizardtales.com/linux-image-3.16.0-0.bpo.4-amd64_3.16.7-ckt11-1+deb8u6~bpo70+1_amd64.deb

@wzrdtales : +1 :

์ €์™€ ๊ฐ™์€ ์‚ฌ๋žŒ๋“ค์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ด๊ฒƒ์„ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/krallin/tini

dockerfile์— ๋ช‡ ์ค„๋งŒ ์žˆ์œผ๋ฉด ์ข€๋น„๋ฅผ ์ œ๊ฑฐ ํ•  ์ˆ˜์žˆ๋Š” ์ ์ ˆํ•œ ์ดˆ๊ธฐํ™” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒํ•˜๋ฉด devicemapper ๋กœ์˜ ์ „ํ™˜์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑด๋ฐฐ,
ํ”„๋ž€์ฒด์Šค์ฝ”

๊ทธ๋ž˜์„œ ์ €๋Š” tini๋ฅผ โ€‹โ€‹์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์ด๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ๋Š” ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ tini๋ฅผ โ€‹โ€‹์‚ฌ์šฉํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค.

๋ฟก ๋นต๋€จ
์ •๋ณด ๊ฐ์‚ฌ ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ํ‹ฐ๋‹ˆ๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ์ข€๋น„ ๋ฌธ์ œ๋Š” ์ด๋ฒˆ ๋ฌธ์ œ์™€ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://github.com/docker/docker/issues/18180#issuecomment -167042078

์‚ฌ์‹ค, tini๋กœ๋„ ์ข€๋น„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

FROM java:7
ENV TINI_VERSION v0.9.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]
CMD ["taskset", "0x1", "java"]
$ docker build -t foobar .
$ docker run -it --rm foobar
Usage: java [-options] class [args...]
           (to execute a class)
...
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
(hangs up here and becomes a zombie)

@AkihiroSuda @jakirkham ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์ถ• ํ•œ ๋‹ค์Œ ํ”„๋กœ๋น„์ €๋‹ ๋กœ์ง์„ ansible ์Šคํฌ๋ฆฝํŠธ์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋น„์ €๋‹ํ•˜๋Š” ๋™์•ˆ ์ค‘๋‹จํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ ๋œ ํ”„๋กœ์„ธ์Šค (kafka) ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. TINI๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๊ทธ ๋ฌธ์ œ๋ฅผ ์™„ํ™” ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹น์‹ ์„์œ„ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ ์ˆ˜๋„ ์žˆ์Œ์„ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์—์„œ ์œ„์•ฝ์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ์–ป์„ ์ˆ˜์žˆ๋Š” ํฌ๋ง์ด ๊ณง ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

OSX 10.11.3์—์„œ Docker 1.9.1์„ ์‹คํ–‰ํ•˜๋Š” ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

$ docker -v
Docker version 1.9.1, build a34a1d5

์ตœ์‹  Docker Toolbox ๋ฆด๋ฆฌ์Šค๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

$ docker -v
Docker version 1.10.1, build 9e83765

์ •๋ณด๋ฅผ ์œ„ํ•ด AUFS / Overlay / BtrFS / ZFS / devicemapper ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/AkihiroSuda/docker-issues/

์ด๊ฒƒ์ด # 18180 ๋“ฑ์— ๊ด€์‹ฌ์ด์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋„์šธ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@AkihiroSuda https://launchpad.net/%7Echiluk/+archive/ubuntu/1533043/+packages ๋งํฌ๋ฅผ ๋”ฐ๋ผ ๊ฐ€๋ ค๊ณ ํ–ˆ์ง€๋งŒ ํŽ˜์ด์ง€๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ : https://github.com/docker/toolbox/issues/318#issuecomment -184143546

๋ฟก๋ฟก
๋˜ํ•œ ํŽ˜์ด์ง€์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” chiluk์ด ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 ์—์„œ ๊ทธ์—๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ œ์•ˆ ๋œ ์ปค๋„์„ ์‚ฌ์šฉํ•˜์—ฌ Ubuntu 14.04์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ปค๋„์ด ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋“ค์–ด๊ฐ€๋ฉด ์ด๊ฒƒ์€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์—ฌ ์˜ํ–ฅ์„๋ฐ›๋Š” ์ปค๋„์—์„œ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : Ubuntu 14.04์—์„œ๋Š” <3.19.0-50).

$ uname -r
3.19.0-49-generic

์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋จผ์ € ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์—ฌ ์ œ์•ˆ ๋œ ํŒจํ‚ค์ง€๋ฅผ

$ echo "deb http://archive.ubuntu.com/ubuntu/ trusty-proposed restricted main multiverse universe" | sudo tee -a /etc/apt/sources.list
$ echo -e "Package: *\nPin: release a=trusty-proposed\nPin-Priority: 400" | sudo tee -a  /etc/apt/preferences.d/proposed-updates

์™„๋ฃŒ๋˜๋ฉด ์—…๋ฐ์ดํŠธ ๋œ ์ปค๋„์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

$ sudo apt-get update
$ sudo apt-get install linux-image-3.19.0-50-generic/trusty-proposed linux-image-extra-3.19.0-50-generic/trusty-proposed

๊ทธ๋ฆฌ๊ณ  ์žฌ๋ถ€ํŒ…ํ•˜์ž

$ sudo shutdown -r now

์žฌ๋ถ€ํŒ… ํ›„ ์ตœ์‹  ์ปค๋„์—์„œ ์ตœ์‹  ๋ฒ„์ „์ด ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ uname -r
3.19.0-50-generic

@vpetersson ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.์ด ๋ฒ„์ „์˜ ์ปค๋„์ด ์ถœ์‹œ๋˜๋ฉด ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚  ์ง€ ์•Œ์•„ ๋ณด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ ๋œ ์„ค์น˜๋ฅผ ๋ฎ์–ด ์“ฐ๊ฑฐ๋‚˜ ์ •์ƒ์œผ๋กœ ๋Œ์•„ ๊ฐ€๊ธฐ ์œ„ํ•ด ๋ญ”๊ฐ€๋ฅผํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

@IainColledge ์˜ˆ, ๊ทธ๋Ÿด ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์™„์ „ํžˆ ํ™•์‹คํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

Ubuntu ๋ฐ Debian์— ๋Œ€ํ•œ ํ‘œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..).
AUFS๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปค๋„์„ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ AUFS v20160111 ์ด์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. |
| Boot2Docker | : white_check_mark : v1.10.0 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : white_check_mark : ์ปค๋„์„ 3.13.0-79.123 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : white_check_mark : ์ปค๋„์„ 3.19.0-51.57 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.10 | : white_check_mark : ์ปค๋„์„ 4.2.0-30.35 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7/8 | : arrow_down : ์ปค๋„์„ ๋ฆด๋ฆฌ์Šค 3.16.0 ์ดํ•˜์˜ 3.16.7-ckt11 ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค (@wzrdtales์˜ dpkg ์•„์นด์ด๋ธŒ ) |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_check_mark : ๋‹ซํž˜ | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | : white_medium_square : ์ง„ํ–‰ ์ค‘ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

ํ•˜๋‚˜ ๋”; ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์•Œ๋ ค์ง„ ๋ฒ„๊ทธ๋ฅผ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/AkihiroSuda/docker-issues

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์•ž์„œ ์–ธ๊ธ‰ ํ•œ ํŒจ์น˜๊ฐ€์žˆ๋Š” ์ตœ์‹  "linux_3.16.7-ckt20-1 + deb8u3"๋ฐ๋น„์•ˆ ์ปค๋„์„ ๊ฐ–๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ-์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œํ–ˆ์œผ๋ฉฐ https://fxposter.org/linux-image-3.16์— ์žˆ์Šต๋‹ˆ๋‹ค. .0-4-amd64_3.16.7-ckt20-1 + deb8u3a ~ test_amd64.deb.

๋†€๋ž„ ๋งŒํ•œ! ๋‚˜๋Š”์ด ๋ฌธ์ œ๋ฅผ ๋ช‡ ์ฃผ ๋™์•ˆ ๊ฒช์–ด ์™”์œผ๋ฉฐ ์šฐ๋ถ„ํˆฌ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์–ด์ œ ์ถœ์‹œ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

3.19.0-51์— ๋Œ€ํ•œ ์ตœ์‹  14.04LTS ์ปค๋„ ์—…๋ฐ์ดํŠธ๋ฅผ ํ™•์ธํ•˜๋ฉด Java ์ข€๋น„๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ!

๋ฐ๋น„์•ˆ์ด์ด ๋ฌธ์ œ๋ฅผ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

| ๋ฐฐํฌํŒ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |
| --- | --- |
| ์ผ๋ฐ˜ | devicemapper / overlay / btrfs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ..).
AUFS๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ปค๋„์„ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ AUFS v20160111 ์ด์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. |
| Boot2Docker | : white_check_mark : v1.10.0 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 14.04LTS | : white_check_mark : ์ปค๋„์„ 3.13.0-79.123 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.04 | : white_check_mark : ์ปค๋„์„ 3.19.0-51.57 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| Ubuntu 15.10 | : white_check_mark : ์ปค๋„์„ 4.2.0-30.35 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 7 | : white_check_mark : ์ปค๋„์„ 3.2.73-2 + deb7u3 (linux-image-3.2.0-4-amd64 ํŒจํ‚ค์ง€) ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 8 | : white_check_mark : ์ปค๋„์„ 3.16.7-ckt20-1 + deb8u4 (linux-image-3.16.0-4-amd64 ํŒจํ‚ค์ง€) ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ |
| ๋ฐ๋น„์•ˆ 9 | : white_check_mark : (์ปค๋„ 3.18-1 ~ exp1 ์ดํ›„ AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| ์  ํˆฌ | : white_check_mark : ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ (: warning : ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์Œ) |
| RHEL / CentOS | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |
| openSUSE | : white_check_mark : (AUFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ) |

๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฐœํ–‰ ํ‹ฐ์ผ“

| ๋ฐฐํฌํŒ | ์ƒํƒœ | ๋ฌธ์ œ URL |
| --- | --- | --- |
| Boot2Docker | : white_check_mark : ๋‹ซํž˜ | https://github.com/boot2docker/boot2docker/pull/1113 |
| Ubuntu | : white_check_mark : ๋‹ซํž˜ | https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043 |
| ๋ฐ๋น„์•ˆ | : white_check_mark : ๋‹ซํž˜ | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812207 |

14.04LTS์˜ ์ปค๋„ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค : +1 :

๋‚˜๋Š” Boot2Docker ๋ฒ„์ „ 1.10.2, ๋นŒ๋“œ ๋งˆ์Šคํ„ฐ : 611be10, Docker ๋ฒ„์ „ 1.10.2, ๋นŒ๋“œ c3959b1์—์„œ OSX์— ์žˆ์œผ๋ฉฐ ๋จผ์ € docker-compose์—์„œ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

Recreating docker_preview_1
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

๊ทธ๋Ÿฐ ๋‹ค์Œ docker kill 38e1e2590dfa ์‹œ๋„ํ–ˆ์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜์›ํžˆ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. docker.log :

time="2016-03-09T14:49:13.053004077Z" level=debug msg="Calling POST /v1.21/containers/38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b/stop"
time="2016-03-09T14:49:13.053058084Z" level=debug msg="POST /v1.21/containers/38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b/stop?t=10"
time="2016-03-09T14:49:13.053097711Z" level=debug msg="Sending 15 to 38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b"
time="2016-03-09T14:49:23.053530062Z" level=info msg="Container 38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b failed to exit within 10 seconds of SIGTERM - using the force"
time="2016-03-09T14:49:23.053720529Z" level=debug msg="Sending 9 to 38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b"
time="2016-03-09T14:49:33.054082100Z" level=info msg="Container 38e1e2590dfa failed to exit within 10 seconds of kill - trying direct SIGKILL"
time="2016-03-09T14:49:34.254353402Z" level=debug msg="Calling GET /v1.22/containers/json"
time="2016-03-09T14:49:34.254413283Z" level=debug msg="GET /v1.22/containers/json"
time="2016-03-09T14:49:54.293708866Z" level=debug msg="Calling POST /v1.22/containers/38e1e2590dfa/kill"
time="2016-03-09T14:49:54.293752784Z" level=debug msg="POST /v1.22/containers/38e1e2590dfa/kill?signal=KILL"
time="2016-03-09T14:49:54.293802705Z" level=debug msg="Sending 9 to 38e1e2590dfa5d77482b8fbf6b14f01e8d5278622b8e5d7262cd2cdeb777690b"
time="2016-03-09T14:50:04.294276946Z" level=info msg="Container 38e1e2590dfa failed to exit within 10 seconds of kill - trying direct SIGKILL"
time="2016-03-09T14:50:26.678957119Z" level=debug msg="clean 3 unused exec commands"

๋ฉ”๋ชจ์ฒ˜๋Ÿผ (์ข…๋ฃŒ ๋œ ๊ฒƒ์€ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋กœ ์—ฌ๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์  ์ผ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). devmapper๋กœ ์ „ํ™˜ ํ•  ๋•Œ๊นŒ์ง€ ์ดํ›„ ๋ฒ„์ „์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

$ docker info
Containers: 4
 Running: 3
 Paused: 0
 Stopped: 1
Images: 81
Server Version: 1.12.1
Storage Driver: devicemapper
 Pool Name: docker-8:1-9044034-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.726 GB
 Data Space Total: 107.4 GB
 Data Space Available: 96.43 GB
 Metadata Space Used: 4.387 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.143 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.77 (2012-10-15)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.13.0-77-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.56 GiB
Name: ravn
ID: L2WX:3RQ7:W6IC:7MY3:M3ZC:7MP2:3ZMP:VHW4:TLXM:VLYO:NNZ5:2FVW
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8

@einhverfr ์ปค๋„ 3.13.0-79.123์—์„œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค (๊ท€ํ•˜์˜ ๋ฌธ์ œ๋Š” 3.13.0-77 ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค).

์ปค๋„ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ์ด ๋ฌธ์ œ๋ฅผ ์‹ค์ œ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? Kernel 3.13.0-83-generic์„ ์‚ฌ์šฉํ•˜๋Š” Ubuntu 14.04์˜ Docker 1.9.1์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

@ martinm82 ์˜ˆ,์ด ๋ฌธ์ œ๋Š” ์ปค๋„ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ์ด ๋น„์Šทํ•œ ๋™์ž‘์„ ์ดˆ๋ž˜ํ•˜๊ฑฐ๋‚˜ ์ปค๋„์— ํšŒ๊ท€๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ ๋ฌธ์ œ๋ฅผ์—ฌ์‹ญ์‹œ์˜ค. docker 1.9.1์€ EOL์ด๋ฏ€๋กœ ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ† ๋ก ์„ ์ž ๊ทธ๊ณ  ์žˆ์œผ๋ฉฐ์ด ๋ฌธ์ œ๊ฐ€ ๊ด€๋ จ์—†๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ง‘ํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์„์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ปค๋„ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ https://github.com/docker/docker/issues/18180#issuecomment -193708192

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰