Data Engineering(Pipeline, Hadoop...)/Docker

Docker 파헤치기 1(기본 명령어 및 옵션)

dtstory 2022. 9. 21. 19:37

 

도커 컨테이너에 대한 간단한 명령어에 대해 알아보고자 한다.

 

docker란 무엇인지, 컨테이너에 대한 개념은 기본적으로 알고 있다는 전제하에 실무에서 사용되는 기본적인 명령어들을 소개하겠다.

 

운영체제는 Windows가 아닌 Linux 이므로, 우선 리눅스 커맨드 창을 켜보도록 하자.

 

현재 내가 사용하고 있는 리눅스가 어떤 배포판을 가지고 있는지 확인해보겠다.

cat /etc/issue

음.. 나의 리눅스 배포판은 이렇군...

 

# docker install

sudo wget -qO- https://get.docker.com/ | sh

# docker image 확인

docker images

# docker conntainer 확인 (현재 올라와 있는 Container)

docker ps

#  docker conntainer 확인 (모든 Container)

docker ps -a

 

# docker image pull

docker pull [이미지명]

ex) docker pull ubuntu:latest

 

 

# Jupyter notebook(docker container) 실행 예제

docker run -d -p 32888:8888 --name [컨테이너명] tensorflow/tensorflow:latest-jupyter

tensorflow/tensorflow:latest-jupyter (이미지명) 을 실행 가져오고(pull) 실행해보겠다.

위 명령을 이용하면 pull 할 이미지가 존재하지 않을 시, 자동적으로 pull을 하고 실행까지 이어진다. 

docker ps를 통해 컨테이너가 정상적으로 올라가 있는지 확인하거나, 해당 ip:port로 접속해서 jupyter가 실행되고 있는지 확인할 수 있다.

 

# Container 내리기

docker stop [컨테이너명]

 

# Container 지우기

docker rm [컨테이너명]

# 이미지 지우기

docker rmi [이미지ID]

 

# 컨테이너 이름 변경

docker rename [old name] [new name]

 

# 도커 옵션

# 도커 옵션
i : interactive. 컨테이너와 상호적으로 주고받기
t : tty. tty를 사용하겠다. 터미널과 비슷한 환경을 조성해주는 것
rm : 프로세스 종료시 컨테이너 자동 제거
v : 호스트와 컨테이너의 디렉토리를 연결 (마운트)
p : 호스트와 컨테이너의 포트를 연결 (포워딩)

 

이상 도커를 사용하면서 필요한 간단한 명령어들과 도커 옵션에 대해 알아보았다.

다음 포스트에서는 Host와 Container간 파일 이동, Container 자원 할당 등에 대해 알아보겠다.

728x90