Docker란?
- host OS에 컨테이너를 설치하여, 가상 머신처럼 독립된 실행환경을 제공
- 독립된 실행 환경은 또다른 OS를 설치하여 환경을 구성하는 것이 아닌, App을 실행하는데 필요한 소스, 파일, 라이브러리 존재
Docker 설치
Install docker Engin on Ubuntu를 참고하여 설치하도록 하자.
- docker 구버전이 있다면 삭제하기
sudo apt-get remove docker docker-engine docker.io containerd runc
- host에 docker 설치 전, docker repository set-up하기
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=$(dpkg --print-architecture) 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 engine 설치하기
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker image
- 컨테이너가 실행되기 위해 필요한 파일이 존재
- 하나의 docker image로 여러개의 컨테이너를 생성할 수 있다.
- docker hub에서 원하는 이미지를
pull
받을 수 있다.(실습은nginx
기준으로 진행하였다.)
sudo docker pull 이미지이름
: 원하는 이미지 가져오기
sudo docker images
:pull
받은 이미지 보기
Docker Container
- 하나의 운영체제(OS, host)에서 필요한 실행환경을 독립적으로 운용할수 있도록 리눅스 운영체제에서 제공하는 기술
sudo docker run --name test2 nginx
: docker image를 통해test2
라는 이름을 가진 컨테이너 생성 및 실행 (logs
가follow
되는 상태로 실행)sudo docker start test2
:test2
라는 컨테이너 실행sudo docker stop test2
:test2
라는 컨테이너 실행 중지(단, 처리중인 프로세스가 완료되어야 중지된다.)sudo docker kill test2
:test2
라는 컨테이너를 강제로 중지한다.(프로세스 처리 여부에 상관없이 무조건 중지시킨다.)sudo docker ps
: 실행되고 있는 컨테이너 목록 확인 가능sudo docker ps -a
: 컨테이너의 전체 상태 확인 가능
Reference
'Etc' 카테고리의 다른 글
TIL | Meta tag (0) | 2021.11.07 |
---|---|
TIL | Proxy Server (0) | 2021.10.26 |
TIL | Eslint custom (2) | 2021.10.25 |
TIL | nodejs 설치 정리 (0) | 2021.10.25 |
TIL | AWS EC2 + NginX로 React app 배포 (0) | 2021.10.25 |