본문 바로가기

Docker6

도커 컴포즈와 간단한 컴포즈 문법 docker-compose를 사용하는 이유는? 도커 명령어를 파일로 관리하기에 복잡한 도커 컨테이너 및 도커 네트워크를 구성하기에 용이하여 사용한다. 첫 번째로 도커보다 간결하다. 기존의 도커는 간단한 html을 만들고 nginx로 연결하려면 아래와 같은 도커 명령어를 입력해야 한다. 아래 도커 명령어는 도커 컴포즈로 좀 더 단순하게 표현이 가능하다.(뒤에서 알아봄) docker run -it -p 8080:80 --rm -v $(pwd):/usr/share/nginx/html/ nginx --rm 옵션은 종료시 컨테이너를 삭제하기 위해 준 것이다. 두 번째로 컨테이너 간 연결이 쉬워진다. 아래는 postgresql과 django-sample이란 컨테이너를 연결하는 예이다. --link 옵션을 주어 dj.. 2024. 3. 3.
Dockerfile은 무엇일까? 우리가 만든 우리의 애플리케이션을 이미지로 만든다고 가정해보자. 비어있는 도커 OS 이미지 생성 Git clone을 통해 해당 소스코드를 OS(우분투) 이미지 내로 복사 소스코드 담겨있는 우분투 이미지를 컨테이너에서 이미지화해서 배포 개발을 하고 배포를 하는 과정은 한 번만 이루어지는 것이 아닌 계속해서 이루어지게 된다. 그렇다면 위의 과정은 매우 반복적인 작업이다. 따라서, 이를 하나를 묶을 수 있는 작업이 필요하다. 이것을 도커 파일이 작업을 대신 해주게 된다. 도커 파일 Dockerfile의 정확한 정의는 다음이다. 하나의 완성된 이미지를 구성하기 위해서 있어야 할 패키지, 의존성, 소스코드, 스크립트들을 하나의 file로 기록하여 도커가 읽고 이를 실행시켜 이미지화 시킬 명령 파일. Dockerf.. 2024. 3. 2.
도커 명령어 모음 일반 명령어 docker ==> 도커 관련 설명 docker -v ==> 도커 버전 확인 rm docker rm ==> 도커 삭제(보통 docker stop을 했을 때 docker ps -a와 함께 사용) docker rm -f ==> 실행중인 컨테이너 삭제 stop docker stop ==> 도커 중단 ps docker ps ==> 도커 프로세스 리스트 확인 docker ps -a ==> 도커 확인 docker container ls -a ==> 전체 컨테이너 목록 확인 도커 실행과 생성 docker run ==> 도커 실행 docker run -i -t ==> 도커를 입출력 모드와 tty 서버로 실행 tty는 물리적인 콘솔에서 사람이 직접 조작하는 개념. pty는 telnet처럼 원격에서 접속하거나.. 2024. 3. 2.
도커 엔진을 구성하는 도커 이미지와 도커 컨테이너 도커는 종합적으로 보면 하나의 큰 리눅스 컨테이너이다. 우리가 도커를 바이너리 파일로 설치하거나 다운로드를 받게 된다면 실제로는 도커 엔진을 다운받는 것과 똑같다. 또한, 도커를 이용해서 인프라를 구축하거나 개발을 한다는 말은 도커 엔진을 이용해서 인프라를 구축 및 개발한다는 말이다. (자세한 설명) 컨테이너 기반 가상화는 도커 엔진 위에 애플리케이션 실행에 필요한 바이너리만 올라간다. OS 가상화(HiperVisor)를 보면 Host OS와 완전히 분리되는 장점은 있지만 OS위에 OS를 올리기 때문에 무겁고 느리다. 하지만, 컨테이너 기반 가상화는 Host OS 그리고 도커 엔진위에서 바로 동작하며 Host의 커널을 공유한다. (커널을 공유하게 되면 I/O처리가 쉽게 되어 성능의 효율을 높일 수 있음).. 2024. 3. 2.