์ฌ๋ฌด์ค์์๋ ์ฐ๋ฆฌ ์ค ์ผ๋ถ๋ 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์ ๋ฌธ์ ๊ฐ ์๋์ ํ์ธํ ์ ์์ต๋๋ค. ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณต ํ ์ ์๋์ง ์๋ ค์ฃผ์ญ์์ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ ๋ฒ์ ๋ด์์ ์ผ์ข ์ ํ๊ท์ฒ๋ผ ๋๊ปด์ง๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. ์กฐ์ฌ ์ค์ ๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉด ํด ์์ต๋๋ค.
๋ค, 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 %์ ๋๋ค
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 : ์ธ์นจ :
๋จธ๋ฆฌ์ ๋จธ๋ฆฌ๋ฅผ ์ฐ๋ ์ด๋ก ์ด ์์ด์ ...
์ ์ปค๋ฐ์ 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 ์ฐธ์กฐ
๋ฐฉ๊ธ 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 ์ฐธ์กฐ
@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 ๋ก ์ธํ ํ๊ท ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
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 ์ดํ์
๋๋ค. @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
๊ทธ๊ฑด:
์์ ๋ด์ฉ์ ์ดํด๋ณด๋ฉด ์ ์ฌ์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด @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 ๋ฒ์ ์์ ์์ ๋์์ต๋๊น? ์ง๊ธ ์๋ํด๋ณด์ธ์. ์๋ง๋ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
| ๋ฐฐํฌํ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
| --- | --- |
| ์ผ๋ฐ | 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 ์ง์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
| ๋ฐฐํฌํ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
| --- | --- |
| ์ผ๋ฐ | 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์ ๋ํ ํ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค.
| ๋ฐฐํฌํ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
| --- | --- |
| ์ผ๋ฐ | 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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฐ๋น์์ด์ด ๋ฌธ์ ๋ฅผ ์ง์ํ์ต๋๋ค.
์ต์ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ
| ๋ฐฐํฌํ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
| --- | --- |
| ์ผ๋ฐ | 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 |