환경
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:
./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 |