kubernets

[Ubuntu]Docker 설치

IT공부 2023. 2. 16. 17:48
반응형

환경

ubuntu : 20.04 LTS

CPU : 2core

MEM : 2GB

 

기존 Docker 설치 확인 및 삭제 

docker 설치 확인

dpkg -l | grep -i docker

docker 삭제
sudo apt-get purge -y docker-engine docker docker.io docker-ce
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

sudo apt-get autoremove -y --purge docker*

sudo apt-get remove docker docker-engine docker.io containerd runc

모든 이미지, 컨테이너 및 볼륨을 삭제

sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

 

Ubuntu 20.04 Docker 설치 및 환경구성

필수 패키지 설치

sudo apt-get update

sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release 

GPG Key && REPO 추가 

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker, containerd 설치

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

// 설치 가능한 버전 확인
sudo apt-cache madison docker-ce

5:20.10.24~3-0~ubuntu-focal
5:20.10.23~3-0~ubuntu-focal

//특정 버전 설치
sudo apt-get install -y docker-ce=5:20.10.24~3-0~ubuntu-focal docker-ce-cli=5:20.10.24~3-0~ubuntu-focal containerd.io


sudo docker version

Install from a package

1.Go to https://download.docker.com/linux/ubuntu/dists/

2.Go to pool/stable/ and select the applicable architecture (amd64, armhf, arm64, or s390x).

3.Download the following deb files for the Docker Engine, CLI, containerd, and Docker Compose packages:
  • containerd.io_<version>_<arch>.deb
  • docker-ce_<version>_<arch>.deb
  • docker-ce-cli_<version>_<arch>.deb
  • docker-buildx-plugin_<version>_<arch>.deb
  • docker-compose-plugin_<version>_<arch>.deb
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
  ./docker-ce_<version>_<arch>.deb \
  ./docker-ce-cli_<version>_<arch>.deb \
  ./docker-buildx-plugin_<version>_<arch>.deb \
  ./docker-compose-plugin_<version>_<arch>.deb


sudo service docker start
sudo docker run hello-world

 

Docker 설치 확인

실행

sudo systemctl enable docker
sudo systemctl start docker

sudo systemctl enable containerd
sudo systemctl start containerd

도커 로그 사이즈 지정

sudo mkdir -p /etc/docker

cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
    "max-size": "100m"
},
"storage-driver": "overlay2" }
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

 

계정에 Docker 권한 할당

usermod -a -G docker $USER

적용후 docker ps 권한이 안된다면, systemctl restart docker 명령어로 도커 재실행을 해보면 된다.

 

Docker에서 Ubuntu 20.04 시작하기

도커 컨테이너 생성과 동시에 실행까지

docker run -d --name master_node -p 22:22 -it  --privileged ubuntu:20.04

 

 

옵션 설명

  • -d : 백그라운드 실행
  • --name : 컨테이너 이름 부여
  • -p : 포트 맵핑 (순서, 호스트:컨테이너)
  • -i : 사용자가 입출력을 할 수 있는 상태
  • -t : 가상 터미널 환경을 에뮬레이
  • --privileged : 관리자 권한을 획득하기 위한 옵션 

도커 컨테이너 생성만

# docker create <옵션> --name <컨테이너이름> <이미지 Repository>

생성 후 docker ps -a 로 확인

 

컨테이너 실행/종료 

# 실행

docker start <컨테이너이름>

# 종료

docker stop <컨테이너이름>

 

컨테이너 접속 방법

# docker exec -it <컨테이너이름> /bin/bash

 

컨테이너 빠져나오기

# 컨테이너를 종료하면서 빠져나오기

exitt 또는 ctrl + D

 

# 컨테이너를 종료하지않고 가동상타를 유지하면서 접속만 종료하기

# ctrl  + P 입력 후 Q 입

 

docker 컨테이너 포트 변경 

기존 컨테이명 worker_node1을 worker_node1_copy로 commit(이미지 복사)

# docker commit worker_node1 worker_node1_copy

 

포트를 변경하여 mysql_copy 컨테이너 생성

# docker run -d -it -p 8100:22 --name worker_node1_copy /bin/bash

 

기존 mysql 컨테이너 중지 및 삭제 

# docker stop worker_node1

# docker rm worker_node1

 

worker_node1_copy를 worker_node1로 commit(이미지 복사)

# docker commit worker_node1_copy worker_node1

 

포트 변경하여 worker_node1 실행

# docker run -d -it -p 8023:22 --name worker_node1 /bin/bash

 

'kubernets' 카테고리의 다른 글

[kubenetes] worker노드 삭제 후 다시 조인  (0) 2023.03.06
[CentOS] Docker 설치  (0) 2023.02.21
[k8s] TLS certificate errors  (0) 2023.02.21
[Ubuntu] kubernetes 설치  (0) 2023.02.16