MLOps

[Docker] 설치 및 기본 명령어

Crysis 2022. 9. 1. 00:46

공식문서

https://docs.docker.com/engine/install/ubuntu/의 방법중 Install using the repository 방법으로 진행

연습으로 진행하는 것이기 때문에 VM으로 ubuntu 20.04 버전으로 가상환경을 하나 만들어서 연습하였다.

 

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
    
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o \
/usr/share/keyrings/docker-archive-keyring.gpg

echo \
"deb [arch=amd64 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

Docker 의 prerequisite package, GPG key, repository 설정하는 명령어이다.

 

 

Docker 설치

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

 

권한 설정

처음 설치하면 docker 관련 작업이 root 유저에게만 권한이 있어서 명령을 수행하려면 sudo를 붙여야 한다.

아래 명령어를 수행하기 전 "docker ps"를 실행하면 Permission denied가 출력될 것이다.

sudo usermod -a -G docker $USER
sudo service docker restart
docker ps

docker ps를 실행하면 아래와 같이 출력되어야 하며 출력 되지 않는다면 reboot을 하면 출력될 것이다.

CONTAINER ID	IMAGE	COMMAND		CREATED		STATUS		PORTS		NAMES

 

기본 명령어

명령어 뒤에 --help를 붙여 실행하면 사용 방법을 참고해 가면서 테스트 해볼 수 있다.

ex) docker pull --help, docker run --help

 

1. docker pull

docker image repository부터 docker image를 가져오는 커맨드

docker pull ubuntu:18.04

 

2. docker images

로컬에 존재하는 docker image 리스트를 출력하는 커맨드

docker images

 

3. docker ps

현재 실행 중인 도커 컨테이너 리스트를 출력하는 커맨드

docker ps
docker ps -a

 

4. docker run

도커 컨테이너를 실행시키는 커맨드

docker run -it --name demo1 ubuntu:18.04 /bin/bash

-it : -i + -t 옵션의 결합

컨테이너를 실행시킴과 동시해 interactive한 terminal로 접속시켜주는 옵션

--name : name

컨테이너 id 대신 구분하기 쉽도록 지정해주는 이름

 

5. docker exec

Docker 컨테이너 내부에서 명령을 내리거나, 내부로 접속하는 커맨드

docker run -it -d --name demo2 ubuntu:18.04

-d : 백그라운드에서 실행, 컨테이너에서 접속을 종료해도 백그라운드에서 계속 실행

 

6. docker logs

도커 컨테이너의 log를 확인하는 커맨드

docker run --name demo3 -d busybox sh -c "while true; do $(echo date); sleep 1; done"
docker logs demo3
docker logs demo3 -f

 

7. docker stop

실행 중인 도커 컨테이너를 중단시키는 커맨드

docker stop demo3
docker stop demo2
docker stop demo1

 

8. docker rm

도커 컨테이너를 삭제하는 커맨드

docker rm demo3
docker rm demo2
docker rm demo1

 

9. docker rmi

도커 이미지를 삭제하는 커맨드

docker images
docker rmi ubuntu

위에서 차례대로 해보았다면 ubuntu라는게 있을 것인데 docker rmi ubuntu로 이미지를 삭제 할 수 있다.