DevOps/Linux

도커(Docker)를 이용한 컨테이너 관리하기: 설치부터 볼륨생성까지

kimc 2023. 4. 8. 01:51

 

도커 소개

컨테이너 기술을 이용해

애플리케이션을 격리된 환경에서 실행하는데,

이를 통해 애플리케이션 배포와 관리가 용이해졌습니다.

이번에는 도커의 기본적인 사용법에 대해 알아보겠습니다.


도커 설치

우분투에 도커는 아래와 같이 설치가 가능합니다

 

# 도커 설치 참조
https://docs.docker.com/engine/install/ubuntu/

# 도커 버전 확인
docker --version

# 구버전 삭제
sudo apt remove docker docker.io containerd runc

#  도커 공식 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

# 도커 공식 repository 추가
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# apt 업데이트
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
sudo systemctl status docker

# 현재 유저 도커 추가
sudo adduser kimc
sudo usermod -aG docker kimc
su - kimc

# 도커 버전 확인
docker --version

 

 

 

참조

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

 

Install Docker Engine on Ubuntu

 

docs.docker.com


 

도커 허브 웹사이트에서 이미지를 받아서 실행하거나

리눅스에서 명령어로 이미지를 받을 수 있습니다.

 

이미지로 컨테이너를 만들고 컨테이너를 실행하고

종료할 수 있습니다

 

# image 검색1
# https://hub.docker.com/

# image 검색2
docker search mssql

# 도커 이미지 pull 방법 3가지
docker image pull nginx:1.23.4-bullseye
docker image pull nginx:latest
docker image pull nginx

# 로컬이미지 확인
docker images

# 도커 실행
docker container run -d -p 8080:80 --name samplename nginx
# -d background 에서 실행
# -p 8080:80 에서 실행
# --name samplename nginx

# 모든 도커 컨테이너 확인
docker ps -a
docker container ls -a

# 종료된 모든 도커 컨테이너 확인
docker container ls -a -f status=exited

# 종료된 모든 도커 컨테이너 아이디만 확인
docker container ls -a -f status=exited -q

# 도커 실행
docker container run -d -P --name samplename2 nginx

# 도커 컨테이너 stop
docker container stop 3206

# 도커 컨테이너 제거
docker container rm 3206

 

도커 컨테이너를 복사하거나 삭제 그리고 실행할 수 있습니다.

 

# 컨테이너 실행
docker container run --name=container1 -it centos

# 도커 컨테이너 전부 삭제
docker container rm -f $(docker container ls -a -q)

# 도커 컨테이너 상태 확인
docker container stats mysite
docker container inspect mysite
docker container inspect mysite | grep -i ipaddress

# 컨테이너 복사하기
docker container run -it --name=container1 rockylinux:8
yum install nmap
nmap -p 80 scanme.nmap.org

# 실행
docker container run -it --name=container2 rockylinux:8
docker container start container1

# 이미지 생성
docker container exec -it container1 bash
docker commit -m "nmap installed" -a "Kimc" 60a5 kimc/my_rocky:8
docker image ls

 

볼륨 관리

# docker volume 생성
docker volume create mysample
docker volume ls
docker volume inspect mysample

# 사용안하는 volume 삭제
docker volume prune

docker container run -d --name mywebapp -p 80:80 -v mysample:/usr/share/nginx/html

 

 

728x90