인터넷이 안되는 폐쇄망에 배포할 일이 있어서 공부했던 내용을 정리해둔다.
1. Docker 란?
일단 도커는 컨터이너 기반의 오픈소스 가상화 플랫폼이다. 쉽게 생각하면 Vmware나 VirtualBox에서 사용하는 것 처럼 하나 OS에 다른 OS를 올려서 사용하게 해주는 것을 의미한다.
물론 도커는 기존의 가상화 툴보다 더 가볍고 빠르다. 그 이유는 도커는 기존의 가상화 툴 처럼 추가적인 OS를 설치해서 가상화 하지 않고 프로세스를 격리하는 방식으로 동작하기 때문이다.
도커의 가장 중요한 개념은 Image와 Container이다.
1. Image는 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 파일
2. Build 과정을 거쳐서 메모리에 올리고 Run을 통해 동작하는 프로세스
간단하게 Image는 실행파일 Container는 프로세스로 이해하면 된다.
여러 이미지(Ubuntu, CentOS..)들이 도커허브에 있으며 회원가입을 통해 자신의 이미지를 업로드, 다운로드 할 수 있다.
2. Docker Pull을 이용해 도커 이미지 갖고 오기
이번에는 실제로 도커를 실행시키면서 동작해보자
먼저 pull 명령어를 통해 도커 허브로부터 우분투 도커 이미지를 가져와보자.
docker pull ubuntu:latest
pull 명령어는 docker hub에 있는 이미지를 갖고 오는 명령어로 우리는 ubutu 이미지를 갖고올 것이다.
ubuntu 뒤에 ':' 뒤에 붙어 있는 것은 Tag 라고 표현하고 ubuntu 이미지들 중에서 특징을 표현한다.
아래 페이지로 가보면 ubuntu와 관련된 많은 태그들이 있으며 콜론 뒤에 해당 값을 붙여서 사용하면 그 이미지가 pull 되게 된다.
hub.docker.com/_/ubuntu?tab=tags&page=1&ordering=last_updated
다음과 같이 실행되고 성공적으로 이미지를 갖고 왔다.
이미지 확인
현재 내 컴퓨터에 어떤 이미지들이 있는지 확인하려면 아래의 명령어를 작성하면 된다.
docker images
명령어를 통해 아래처럼 확인 할 수 있다.
이전에 말했다시피 Image는 build 후 메모리에 올라가고 run 명령어를 통해 컨테이너로 동작한다.
docker pull 명령어는 docker hub에 있는 이미지를 받아서 build까지 수행한다.
어쨌든 현재는 이미지가 빌드되어 있는 상태고 컨테이너로로 만들어 실행을 시키려면 아래 명령어를 작성하면 된다.
docker run -t ubuntu:latest
여기서 -t는 tag 이름으로 실행시킨다는 의미고 정상적으로 실행된다면 다음과 같이 cmd라인이 뜨게 된다
컨테이너 확인
현재 실행되고 있는 컨테이너는 다음의 명령어를 통해 실행가능하다
docker ps
다음 포스트는 docker compose를 이용해 실제 서버에 배포해보겠다.
https://cocook.tistory.com/139
'Web Programming > Docker' 카테고리의 다른 글
[docker] DockerFile cheetsheet (0) | 2022.10.17 |
---|---|
[Docker] Trouble Shooting (0) | 2021.07.13 |
[Docker] 자 떠나자 고래 잡으러 : Docker로 Django+Nginx 배포하기 (10) | 2021.07.12 |