arch.ruaniz.com

Scott.Lee, Application Architect

Install and setup Docker

Created 요일 20 월 2017
Installation/Setup/Configuration independent container platform

1. Pre-installation setup

A. creating required operating system group and user

Create operating system group and user

B. install dependency packages

C. creating base directory

Create operating system drectory

D. firewall configuration

2. installation setup

A. change account

$ su - app

B. creating application directory

$ mkdir -p /data/docker

$ mkdir -p /apps/docker
$ mkdir -p /logs/docker

C. download

D. install

dependency packages
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 –downloadonly –downloaddir=/apps/install/rpms/yum-utils
$ sudo rpm -Uvh –replacepkgs /apps/install/rpms/yum-utils/*rpm

docker packages
$ sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install -y docker-ce docker-ce-cli containerd.io –downloadonly –downloaddir=/apps/install/rpms/docker
$ sudo rpm -Uvh –replacepkgs /apps/install/rpms/docker/*rpm

excute install script

$ curl -fsSL https://get.docker.com/ | sudo sh
$ sudo wget -qO- https://get.docker.com/ | sh

docker-ce package dependency error
Error: Package: 3:docker-ce-18.09.7-3.el7.x86_64 (docker-ce-stable) Requires: container-selinux >= 2.9

$ cd /apps/install
$ curl -O http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.99-1.el7_6.noarch.rpm
$ sudo rpm -Uvh container-selinux-2.99-1.el7_6.noarch.rpm

container-selinux package dependency error
경고: container-selinux-2.99-1.el7_6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
오류: Failed dependencies:
policycoreutils-python is needed by container-selinux-2:2.99-1.el7_6.noarch

$ sudo yum install -y policycoreutils-python

add account(app) to group(docker) : 도커 실행 권한 주기

$ sudo usermod -aG docker app

현재 계정을 도커그룹에 추가하여 권한주기

$ sudo usermod -aG docker $USER 
$ docker -v
$ docker version

docker daemon이 실행되지 않았거나 권한이 없을 경우 에러 발생

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: dial unix /var/run/docker.sock: connect: permission denied Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

package install

  • Ubuntu
    $ sudo apt-get update
    $ sudo apt-get install docker.io
  • CentOS 6
    $ sudo yum repolist
    레파지토리 추가
    $ sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    $ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    레파지토리 조회
    $ sudo yum repolist
    $ sudo rpm -qa | grep epel

    레파지토리 삭제
    $ sudo rpm -ev epel-release-6-8.noarch

    도커 설치
    $ sudo yum install docker-io

  • CentOS 7

    $ sudo yum install -y yum-utils $ sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum makecache fast

    $ sudo yum install -y docker-ce
    $ sudo systemctl start docker
    $ sudo systemctl enable docker
    $ sudo gpasswd -a app docker

    Usage: gpasswd [option] GROUP

    Options:
    ` -a, –add USER add USER to GROUP -d, –delete USER remove USER from GROUP -h, --help display this help message and exit -Q, --root CHROOT_DIR directory to chroot into -r, –delete-password remove the GROUP’s password`
    -R, –restrict restrict access to GROUP to its members
    -M, –members USER,… set the list of members of GROUP
    -A, –administrators ADMIN,…

E. configure

F. run application

systemd

active service
$ sudo systemctl enable docker

sudo chkconfig docker on

start service
$ sudo systemctl start docker

$ sudo systemctl restart docker

check service
$ sudo systemctl status docker

stop service
$ sudo systemctl stop docker

도커 데몬 시작
$ service docker start

서버 재시작시에도 도커 데몬이 재시작 되도록 설정
$ chkconfig docker on

G. uninstall docker

Then remove docker completely

on debian base
$ dpkg -l | grep -i docker

ii  docker-ce                             5:19.03.5~3-0~ubuntu-bionic                  amd64        Docker: the open-source application container engine
ii  docker-ce-cli                         5:19.03.5~3-0~ubuntu-bionic                  amd64        Docker CLI: the open-source application container engine

$ sudo apt-get autoremove -y –purge docker-ce

$ sudo apt-get purge docker-ce

$ sudo apt-get autoclean

$ sudo rm -rf /var/lib/docker

on centos base
$ sudo yum remove docker-ce
$ sudo yum autoremove

$ sudo rm -rf ~/.kube

3. post-installation setup

A. create shell script

9. Appendix

reference site