[day-54] Docker 설치 및 명령어

Joohyung Park·2024년 3월 24일
0

[모두연] 오름캠프

목록 보기
90/95
post-thumbnail

Docker에 대해 간단하게 알아보겠습니다.

Docker

정의

도커는 독립된 환경에서 애플리케이션을 개발하고 실행하도록 도와주는 오픈 플랫폼이다.

이미지 라는 개념이 등장하는데 이는 가상 머신이나 컨테이너 또는 프로그램을 실행하는 데 필요한 파일과 라이브러리, 설정등을 가지고 있는 파일이다.

이미지를 실행하면 프로세스, 컨테이너가 된다.

컨테이너라는 동일한 형식으로 애플리케이션이 패키징되어 어떤 애플리케이션이든 도커 플랫폼이면 실행이 가능하다.

설치 및 기본 명령어

서버 실행 후 터미널까지 열렸다는 가정 하에 진행한다.

설치

Ubuntu 22.04 (LTS) 기준이다.

  • 충돌 방지
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

기존에 설치되어 있거나 설치하다 만 파일들이 있으면 정상적으로 설치되지 않으므로 그러한 파일들을 삭제하는 명령어이다.

  • 설치
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

명령이 길지만 그대로 복사해서 ctrl+insert 혹은 마우스 우클릭으로 전부 붙여넣기가 가능하다.

  • 패키지 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 설치 확인
sudo docker run hello-world

정상적으로 설치가 진행되었는지 확인을 한다.

위와 같은 창이 나온다면 성공한 것이다.

명령어

# 시스템 재부팅 시에 docker가 동작하도록 설정
sudo systemctl enable docker

# 도커 Cli 명령 실행
sudo docker

# 도커 실행여부
sudo service docker status

# docker 그룹 생성
sudo groupadd docker

# docker 그룹에 현재 유저 추가
# sudo를 붙이지 않고 docker를 사용하기 위함
sudo usermod -aG docker $USER
# hello world 이미지 실행
docker run hello-world

# nginx 실행하기
docker run -p 80:80 nginx

# getting-started 이미지 실행하기
# -d 옵션은 백그라운드에서 실행하는 detached 모드입니다
docker run -d -p 80:80 docker/getting-started

# 실행중인 컨테이너 목록
docker ps

# 모든 컨테이너 목록
docker ps -a

# 로그 보기
docker logs -f <컨테이너 이름>

# 컨테이너 중지하기
docker stop <컨테이너 이름>

# 컨테이너 삭제하기
docker rm <컨테이너 이름>

# 이미지 목록 보기
docker images

# 컨테이너 이미지 삭제하기
docker rmi <이미지이름>

프로세스 창의 맨 끝의 NAMES는 컨테이너의 이름으로, 컨테이너 로그조회, 중지, 시작, 삭제 등의 명령을 직접 실행할 때 사용한다.

CONTAINER ID의 앞글자 네자리로도 명령이 가능하다.

실행중인 컨테이너가 없을 시의 화면이다.

간단한 구조는 위와 같다.

profile
익숙해지기 위해 기록합니다

0개의 댓글