IT STUDY LOG

[(사전준비) 개발 환경 구축] 02. Docker 설치 본문

devops bootcamp 4/개발 및 배포

[(사전준비) 개발 환경 구축] 02. Docker 설치

roheerumi 2023. 3. 22. 10:46

# 학습 목표

  • nvm, Nodejs, npm을 설치하고, 버전을 확인할 수 있다.
  • 명령어 node를 이용해 JavaScript 파일을 실행할 수 있다.
  • 스프린트 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.

# 학습 내용

1. Docker

  • 컨테이너화한 애플리케이션을 실행하게 해주는 도구
  • 운영체제별 설치 방법
OS 설치 관련 링크
macOS https://docs.docker.com/desktop/install/mac-install/
Windows https://docs.docker.com/desktop/install/windows-install/
Ubuntu https://docs.docker.com/engine/install/ubuntu/
* sudo 없이 Docker를 사용하기 위해 실행하는 설치 후 작업 : https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
#################### Ubuntu Docker 설치 ####################
# 만약 도커가 설치되어있다면 삭제 후 진행
$  sudo apt-get remove docker docker-engine docker.io containerd runc

# 설치 방법
# 1. Docker Desktop for Linux를 설치
# ★2. Docker’s apt repository에서 설치
# 3. 수동으로 설치하고 관리, 업그레이드
# 4. 스크립트 사용 (테스트, 개발 환경일 때만 추천)

# (1) 레파지토리 설정
# apt 패키지 업데이트하고 apt가 레파지토리를 HTTPS로 사용 가능하게 설치
$ sudo apt-get update
$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
    
# 도커 공식 GPG키 등록
$ 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
  
  
# (2) 도커 엔진 설치
$ sudo apt-get update
 
# 최신 버전 도커 엔진, 컨테이너, 도커 컴포즈 설치
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
# 도커 엔진이 잘 설치되었는지 확인하기 위한 명령어 - 테스트 이미지 다운로드 하고 실행해서 정보 출력 후 종료
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:ffb13da98453e0f04d33a6eee5bb8e46ee50d08ebe17735fc0779d0349e889e9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
 
 
#################### Ubuntu Docker root 외 사용자 사용하도록 환경설정 ####################
# 도커 그룹 생성해서 현재 로그인한 사용자를 해당 그룹에 추가
$ sudo groupadd docker
$ sudo usermod -aG docker $USER

# 재부팅하거나 아래 명령어로 그룹 변경사항 적용
$ newgrp docker

# sudo 권한 없이 실행가능한지 테스트
roheerumi@devops:/etc$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

# 설치 완료 확인
$ docker --version
Docker version 23.0.1, build a5ee5b1
Comments