Devops/Fastcampus 캐시백 챌린지

패스트캠퍼스 캐시백 챌린지 45일차

DEV_BLOG 2022. 6. 1. 10:45

 

수강 인증샷

 

Docker/Kubernetes Part쪽으로 넘어와서 docker/docker-compose 설치하는 부분의 클립을 수강하는식으로 챌린지를 진행하였다. terraform과 관련된 클립도 있기에 혹시 terraform에 대한 이해가 부족하면 못듣는파트인가 싶어서 먼저보고왔는데 terraform을 활용해서 aws실습환경을 코드로 올인원으로 쉽게 관리하는 내용이어서 굉장히 신기했다. 굳이 terraform 파트쪽을 먼저 다 보고오지 않아도 Docker쪽 파트를 수강할 수 있을 것 같아서 현행대로 가려고 한다. 특히 이 파트오면서 Senior님의 기운이 강력하게 느껴져서 안정감이 많이 들었다. 빠르게 강의를 보고싶다는 생각이 들정도로..ㅎㅎ github discussion도 따로 운영하시기에 한결 마음이 놓이는 것 같다..다음 포스팅은 ubuntu환경에서 kubectl/kustomize/minikube 설치 및 k8s cluster 구성에 관한 내용을 포스팅할 예정이다.

 

 

 

Docker 실습 권장 개발환경

window,macOS등도 가상화기술을 이용해 docker를 쓸 수 있지만, volume,network를 다룰때 linux docker가 아니기때문에 생기는 이슈들이 존재하기에 우분투를 권장한다고 한다.

따라서 docker,k8s 학습할때는 windows wsl사용권장을 하지 않는다고한다.

이후에 k8s쪽 파트에서 minukube를 사용할때 2core CPU, 2GB RAM 이상의 사용을 요구할 것이기에 t3.small Insance 사용을 권장한다고한다. Free tier는 아니지만 24시간동안 30일 가정하면 1달에 20달러정도 청구된다고 하는데, Instance를 Stop해가면서 사용할시에는 많이 줄어든다고 한다.

 

Docker 설치

https://docs.docker.com/engine/install/ubuntu/

위의 링크는 도커를 ubuntu 운영체제에 설치할 수 있는 공식 guideline이다.

해당 과정을 거쳐도 좋지만.. github에 더쉽고 빠르게 접근할 수 있도록 운영체제에따라 설치에 필요한 명령어들을 정리하셨다고 한다.

https://github.com/tedilabs/fastcampus-devops/tree/main/3-docker-kubernetes/env

이중에서 install-docker-compose.sh과 install-docker.sh를 확인하면 된다.

cat > install-docker.sh

#!/usr/bin/env bash
## INFO: <https://docs.docker.com/engine/install/ubuntu/>

set -euf -o pipefail

DOCKER_USER=ubuntu

# Install dependencies
sudo apt-get update && sudo apt-get install -y \\
  apt-transport-https \\
  ca-certificates \\
  curl \\
  gnupg \\
  lsb-release

# Add Docker’s official GPG key
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

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

# Install Docker CE
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io

# Use Docker without root
sudo usermod -aG docker $DOCKER_USER
chmod u+x install-docker.sh #실행권한을 준다.
./install-docker.sh

 

각각의 세부내용들에 대한 설명은 다음과 같다.

# Install dependencies
sudo apt-get update && sudo apt-get install -y \\
  apt-transport-https \\
  ca-certificates \\
  curl \\
  gnupg \\
  lsb-release

패키지 목록을 업데이트하고, 필요한 의존성 패키지들을 설치한다.

 

# Add Docker’s official GPG key
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

도커가 제공하는 GPG 공개키를 신뢰하도록 추가한다.

 

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

도커의 공식 apt 레포지토리를 등록한다.

 

# Install Docker CE
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io

apt 계열의 패키지 매니저가 다시한번 패키지 매니저를 갱신하면 도커의 공식 레포지토리에서 패키지 목록을 가져오고, apt 계열 install로 docker cli를 설치한다.

 

DOCKER_USER=ubuntu

# Use Docker without root
sudo usermod -aG docker $DOCKER_USER

도커를 기본적으로 시스템에 설치하고 나면 관리자 권한으로 동작하게 된다. 사용자가 docker 명령어를 사용하기 위해 docker 사용자 그룹에 소속되어야 한다.

우분투 기본 사용자를 도커라는 사용자 그룹안에 넣으면 된다. 명령어 설정한 직후에는 docker 명령어가 먹지 않기에 exit 후 다시 접속해주자. (안되면 AWS instance 재부팅도 시켜주고 저 두 명령어만 다시쳐보면 될것이다..)

 

Docker-compose 설치

https://docs.docker.com/compose/install

docker-compose의 공식 guideline은 위의 링크와 같다.

linux의 경우에는 컴파일된 바이너리를 제공해서 curl 명령어를 이용해 다운받을 수 있다.

cat > install-docker-compose.sh

#!/usr/bin/env bash
## INFO: <https://docs.docker.com/compose/install/>

set -euf -o pipefail

DOCKER_COMPOSE_VERSION=v2.1.1

# Download and install
sudo curl -L "<https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
chmod u+x install-docker-compose.sh
./install-docker-compose.sh

 

 

매번 public ip주소 가리기 귀찮아서 developing으로 설정해주었다.^^;;

docker-compose 명령어가 잘 실행되면 성공적이다!

putty로 색상테마 설정해주려다 그냥 windows terminal에서 ubuntu 열고 ssh 접속으로 AWS instance 접속해서 쓰고있다.

어느순간되니 ssh -i 때려서쓰는게 putty보다 편한것같기도하다..ㅎㅎ

 

 

https://bit.ly/3L3avNW

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.