관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[네트워크] 도커(Docker) 정리 본문

네트워크/도커(Docker)

[네트워크] 도커(Docker) 정리

막무가내막내 2019. 9. 6. 14:40
728x90

 

출처: [위키백과] 

도커는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다.

 

1. 가상 머신과 유사하게 가상 환경에서 가상화를 목적으로 한다.

2. 독립적인 OS를 올리는 가상 머신과 달리, Dockers는 시스템 자원을 공유한다.

3. 경량이며 훨씬 빠른 성능을 갖고있다.

 

도커 초보자들이 읽기 좋게 정리한 사이트 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

위 사이트 글을 아주 간략하게 컨테이너와 이미지에 대해서만 요약하면,

 

도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이고 서버에서 말하는 컨테이너는 다양한 프로그램 및 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하고 쉽게 해주는 것이다.

 

컨테이너는 격리된 공간에서 프로세스가 동작하는 기술이다. 가상화 기술의 하나지만 기존방식과는 차이가 있는데 기존 방식은 주로 OS를 가상화 했다면(VMware나 VirtualBox) 이것은 반가상화 방식이다. 

정리하면 응용이 설치된 이미지로부터 실제로 실행되고 있는 이미지를 지칭하고 이미지로부터 여러 용도의 컨테이너를 실행할 수 있다.

 

이미지는 컨테이너 실행에 필요한 파일과 설정값들을 포함하고 있는 것이다.

정리하자면 운영체제가 설치되어 있는 파일이며 베이스이미지(운영체제만 설치되어 있는 파일)로 부터 추가적으로 다른 어플리케이션을 설치하여 추가적인 이미지 제작가능하며,  https://hub.docker.com 으로 부터 베이스 이미지 부터 다양한 어플리케이션 및 환경이 설치되어 있는 이미지를 받을 수 있다.

 

추가로 Dockerfile이라는 말이 나오는데 도커 이미지의 설정파일이며 base이미지로부터 Dockerfile을 이용하여 추가적인 응용들을 설치할 수 있다. Dockerfile을 만들떄는 이름을 Dockerfile로 만들어야하며 (README처럼?) Dockerfile폴더에는 Dockerfile외에 아무것도없어야한다.  docker build <옵션> __ <경로> 이 명령어로 Dockerfile로 이미지를 생성할 수 있다.(Dockerfile이 있는 경로에서 해야한다.)

 

 

 


도커 설치

(우분투) sudo wget -qO- https://get.docker.com/ | sh

(윈도우) https://www.docker.com/ 접속 (윈도우10 pro,  윈도우 home premius 이상만가능)

 

도커 이미지 가져오기 예제

docker pull ubuntu:18.04

 

이미지 확인

docker images

 

도커 이미지로부터 컨테이너 띄우기

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

 

도커 컨테이너 확인

docker ps -a

 

생성된 컨테이너 실행

docker start containers

 

Nginx image 다운받고 컨테이너 띄우기

docker pull nginx

 

nginx가 서빙해주는 파일을 가지고 있는 홈폴더끼리 공유(-v 옵션) 및 컨테이너 실행

docker run --name nginx_container -v host_folder:/usr/share/nginx/html:ro -d -p 8080:80 nginx

728x90
Comments