docker 5

Docker 정리 (6) 호스트와 컨테이너의 파일 시스템 연결

ㄴ 컨테이너 안에서 텍스트 에디터를 이용하여 파일을 수정할 수 있지만 이는 불편하고 위험한 작업이다. - 컨테이너가 사라질 경우 파일이 모두 날라가며, - 컨테이너는 필요할 땐 언제든지 사용하고 필요없을땐 언제든지 지울수 있도록 관리하며 사용 해야한다. 해결책 컨테이너의 특정 디렉토리와 host 의 특정 디렉토리를 연결하고, host 에서 수정이 이루어졌을때 컨테이너의 파일시스템에 반영될 수 있도록 하는것이다. ㄴ 컨테이너가 날아가도 소스코드는 Host에 그대로 남아있기에 안전하게 개발할 수 있으며, ㄴ 버전관리도 쉬워진다. 실행환경은 컨테이너, 파일수정은 host 에서 진행하는 방법을 살펴보자. Container 의 File System Host 의 File System 연결하는 명령어는 아래와 같다...

컨테이너/도커 2021.08.28

Docker 정리 (4) 도커 네트워크

ㄴ도커로 동작하는 어플리케이션들은 네트워크를 이용하고 있다. Docker 없이 웹 서버를 설정해야 할 때 서버 컴퓨터는 약 65,000개 port 가 있는데, 이는 컴퓨터에 설치되어 있는 여러 소프트웨어들을 네트워크 적으로 구분해준다. 위 이미지에 나오는 서버 컴퓨터는 웹 서버가 80포트에서 접속을 대기하고 있도록 설정되어 있으며 웹 서버에 요청이 왔을 때 File System(데이터가 저장된 공간) 내에서 디렉토리와 파일을 찾으라는 설정에 맞추어 index.html 을 찾아 웹 브라우저에게 코드를 전달하게 된다. 즉, 서버 컴퓨터 포트에 웹 서버를 설정해두고 파일시스템 설정에 따라 파일을 찾고 응답을 해주면 된다. Docker 를 이용하여 웹 서버를 설정 한다면? 웹 브라우저에서 접속을 시도하면 Hos..

컨테이너/도커 2021.08.28

Docker 정리 (3) 이미지 Pull

https://hub.docker.com/search?q=&type=image Docker Hub hub.docker.com 위 도커허브 사이트를 통하여 필요한 어플리케이션을 찾을 수 있다. 찾은 후에 다운로드 받은 어플리케이션을 이미지(Image) 라 하는데, 이미지를 실행하는 것이 컨테이너이다. 도커허브(Docker Hub)는 앱 스토어(App Store)와 매우 유사하다. 프로그램이 여러 프로세스를 가질 수 있는 것처럼, 이미지도 여러개의 컨테이너를 가질 수 있다. pull : 도커허브에서 이미지를 다운받는 행위를 pull run : 이미지를 실행 시키는 행위를 run run을 하게되면, 이미지가 컨테이너가 되고 그 컨테이너가 실행되면서 컨테이너 안에 포함되어 있는, 실행되도록 조치되어 있는 프로그..

컨테이너/도커 2021.08.28

Docker 정리 (2)

컨테이너 기술은 리눅스 기술이다. 도커 위에서 동작하는것이 컨테이너이고, 컨테이너 안에서 동작하는 각각의 어플리케이션들은 리눅스 운영체제에서 동작한다. Host 가 리눅스 운영체제가 아니라면? Window 혹은 Mac OS 일 경우 VM을 설치한 후, 그곳에 리눅스 OS를 깔면 이 위에서 도커와 같은 컨테이너 기술을 사용할 수 있다. 즉, 내 컴퓨터가 리눅스 OS 가 아니라면 VM 을 설치하여 리눅스 위에서 도커를 사용해야 한다. 물론, 도커를 설치하면 도커가 알아서 가상머신을 만들어주고 그 위에 리눅스를 설치해주기 때문에 우리는 도커만 설치 한 후 편하게 사용할수 있다. VM 을 깔기 때문에 속도저하는 감수해야 하지만 그럼에도 사용하는 이유는 도커를 사용했을 때 편의성이 너무 크다. Script 도커 ..

컨테이너/도커 2021.08.28

Docker 정리 (1)

도커란 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 특정 Application을 만들때 필요한 소프트웨어들이 여러개 있는데 이들을 설치하고 관리하는 과정은 순탄치 않다. (Ex. Web Server, DB ...) 이를 해결 할 수 있는 방법은 아래와 같다. 1. 특정 전문가가 OS에 직접 소프트웨어를 구축해서 제공 특정 전문가가 OS에 직접 소프트웨어를 구축해서 제공한 후 우리는 네트워크 통신 통해 이를 사용한다면 너무 수월 할 것이다. 하지만, 이는 컴퓨터가 3대나 필요하므로 많은 비용이 들어간다. 2. VM (Virtual Box) 사용 가상 운영체제인 VM 은 메인 운영체제 안에 가상의 운영체제를 설치하여 소프..

컨테이너/도커 2021.08.28