Docker

2023. 5. 6. 19:19리눅스 실제 사용 팁/Docker

작성일 : 2020. 10. 25.

 

예전에 가상화라고 하면 컴퓨터를 소프트웨어적으로 구현한 것을 일컬었다. 시중에 알려진 제품으로 VMWare, VirtualBox 가 있고 VMWare 가 나올 시점에 Virtual PC 라는 것도 있었다. 그걸 만든 제작사를 마이크로소프트에서 인수, 합병해서 나온 것이 윈도우즈에 내장된 Hyper-V (하이퍼 브이)이다. 이땐 Virtual Machine (이하, VM) 이 주였다.

 

VM 은 컴퓨터이기 때문에 하드웨어도 구현해야 하고 운영체계(Guest OS) 를 별도로 설치해야 하며, 자원을 많이 사용한다.

 

도커란, VM과 달리 하드웨어, OS 는 그대로 쓰면서, OS 의 파일시스템만 이미지화 한 것이다.

 

서비스용으로 개발한 소프트웨어를 실행해서 결과를 뽑아야 할 때, 특히 이 소프트웨어가 설치환경에 제약을 받지 않고 무난하게 실행되도록 하려면 도커를 쓰면 된다. (예전엔 여기까지만 생각했다)

 

요즘은, 과거에 APM 으로 불렀던 아파치 웹서버, PHP, MySQL 조합을 미리 도커 이미지로 만들어서 쓰기도 한다.

도커 이미지를 복제해서 메모리 상에 올려 놓는 것을 컨테이너라고 부르는데, 일종의 프로세스 인스턴스 개념이다.

도커 이미지를 삭제하지 않는 이상, 컨테이너는 얼마든지 띄울 수 있다. 자바 애플리케이션을 실행하면 애플리케이션 1개당 JVM 1개가 따라가며 JVM 밖에서 간섭할 수 없듯이, 도커 컨테이너도 각각 독립적으로 돌아가기 때문에, 다중 웹서버가 필요한 환경을 구축 해야 할 때마다 HTTPD 를 설정을 일일이 바꿀 필요없이 컨테이너를 띄울 때 포트를 지정해주는 것으로 끝난다.

 

'리눅스 실제 사용 팁 > Docker' 카테고리의 다른 글

Dockerfile  (0) 2023.08.01
Docker Compose (번역)  (0) 2023.05.06
Docker 외부 파일을 가져오기 (Import)  (0) 2023.05.06
Docker 이미지를 파일로 내보내기 (Export)  (0) 2023.05.06
Docker 빌드하기  (0) 2023.05.06