root@docker-test:~# apt-get update && apt-get dist-upgrade
root@docker-test:~# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Executing: /tmp/tmp.fJD5sZHPlI/gpg.1.sh --keyserver
hkp://p80.pool.sks-keyservers.net:80
--recv-keys
58118E89F3A912897C070ADBF76221572C52609D
gpg: requesting key 2C52609D from hkp server p80.pool.sks-keyservers.net
gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
※ 서버에 docker 공식 저장소의 GPG key 추가
root@docker-test:~# apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
※ 서버에 apt 소스에 docker 저장소 추가
root@docker-test:~# apt-get update
Get:1 https://apt.dockerproject.org/repo ubuntu-xenial InRelease [48.7 kB]
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:3 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages [3,999 B]
Hit:4 http://rCore-8.clouds.archive.ubuntu.com/ubuntu xenial InRelease
Get:5 http://rCore-8.clouds.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:6 http://rCore-8.clouds.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Fetched 359 kB in 3s (119 kB/s)
Reading package lists... Done
※ 새 저장소에서 패키지 업데이트
root@docker-test:~# apt-get install -y docker-engine
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-59 linux-headers-4.4.0-59-generic linux-image-4.4.0-59-generic
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
aufs-tools cgroupfs-mount libltdl7
Suggested packages:
mountall
The following NEW packages will be installed:
aufs-tools cgroupfs-mount docker-engine libltdl7
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 18.1 MB of archives.
After this operation, 85.2 MB of additional disk space will be used.
※ docker 설치
root@docker-test:~# dpkg -l |grep docker
ii docker-engine 17.04.0~ce-0~ubuntu-xenial amd64 Docker: the open-source application container engine
root@docker-test:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
..
..
※ 위와 같이 출력되면 정상적으로 설치.
root@docker-test:~# docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating s... 5878 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 80 [OK]
ubuntu-upstart Upstart is an event-based replacement for ... 71 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components... 30 [OK]
torusware/speedus-ubuntu Always updated official Ubuntu docker imag... 27 [OK]
nuagebec/ubuntu Simple always updated Ubuntu docker images... 19 [OK]
nickistre/ubuntu-lamp LAMP server on Ubuntu 16 [OK]
nimmis/ubuntu This is a docker images different LTS vers... 7 [OK]
darksheer/ubuntu Base Ubuntu Image -- Updated hourly 2 [OK]
admiringworm/ubuntu Base ubuntu images based on the official u... 1 [OK]
jordi/ubuntu Ubuntu Base Image 1 [OK]
labengine/ubuntu Images base ubuntu 0 [OK]
webhippie/ubuntu Docker images for ubuntu 0 [OK]
vcatechnology/ubuntu A Ubuntu image that is updated daily 0 [OK]
forumi0721ubuntux64/ubuntu-x64-dev ubuntu-x64-dev 0 [OK]
datenbetrieb/ubuntu custom flavor of the official ubuntu base ... 0 [OK]
konstruktoid/ubuntu Ubuntu base image 0 [OK]
forumi0721ubuntuarmhf/ubuntu-armhf-dev ubuntu-armhf-dev 0 [OK]
forumi0721ubuntuaarch64/ubuntu-aarch64-dev ubuntu-aarch64-dev 0 [OK]
lynxtp/ubuntu https://github.com/lynxtp/docker-ubuntu 0 [OK]
teamrock/ubuntu TeamRock's Ubuntu image configured with AW... 0 [OK]
forumi0721ubuntux64/ubuntu-x64-dev-armbian ubuntu-x64-dev-armbian 0 [OK]
esycat/ubuntu Ubuntu LTS 0 [OK]
forumi0721ubuntux64/ubuntu-x64-dev-android ubuntu-x64-dev-android 0 [OK]
smartentry/ubuntu ubuntu with smartentry 0 [OK]
※ ubuntu image 확인
root@docker-test:~# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
c62795f78da9: Pull complete
d4fceeeb758e: Pull complete
5c9125a401ae: Pull complete
0062f774e994: Pull complete
6b33fd031fac: Pull complete
Digest: sha256:c2bbf50d276508d73dd865cda7b4ee9b5243f2648647d21e3a471dd3cc4209a0
Status: Downloaded newer image for ubuntu:latest
※ ubuntu image 다운로드
root@docker-test:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 6a2f32de169d 5 days ago 117MB
hello-world latest 48b5124b2768 3 months ago 1.84kB
root@docker-test:~# docker run -it ubuntu
root@dca1c02bf8f2:/# apt-get update
0% [Waiting for headers] [Waiting for headers]
※ update가 진행이 안되는 문제 발생하며 ftp 등 일부 서비스에서 문제 발생.
root@docker-test:~# docker run -it centos:6.8
[root@580606d04fad /]# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@580606d04fad /]# yum update
Loaded plugins: fastestmirror, ovl
Setting up Update Process
http://mirror.oasis.onnetcorp.com/centos/6.9/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirror.oasis.onnetcorp.com/centos/6.9/os/x86_64.....
Trying other mirror.
※ redhat 계열인 centos에서도 동일한 문제가 발생하며 네트웍 디바이스의 MTU 값이 1500으로 확인된다.
root@docker-test:~# cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
'/lib/systemd/system/docker.service' -> '/etc/systemd/system/docker.service'
※ docker.service 파일 복사
root@docker-test:~# cat /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --mtu 1450 # 해당 옵션 추가
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
※ IWINV 서비스의 인스턴스 MTU 값은 1450이며 1500으로 설정된 컨테이너 MTU값을 기본값 1450으로 변경한다.
root@docker-test:~# systemctl daemon-reload
root@docker-test:~# service docker restart
※ 데몬 리로드후 서비스 재시작