Skip to content

Instantly share code, notes, and snippets.

@wangsy
Last active December 30, 2017 09:04
Show Gist options
  • Save wangsy/399ffa43ddb87961aa9250ecc9c86a90 to your computer and use it in GitHub Desktop.
Save wangsy/399ffa43ddb87961aa9250ecc9c86a90 to your computer and use it in GitHub Desktop.

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 
※ 데몬 리로드후 서비스 재시작
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment