eta_kyung.blog
·8분

Docker (13) - Docker Compose로 다중 컨테이너 애플리케이션 실행하기

Dockerfile은 하나의 애플리케이션을 이미지로 패키징하는 데 적합하다. 하지만 웹 프론트엔드, 백엔드 API, 데이터베이스처럼 여러 컴포넌트로 구성된 애플리케이션을 실행하려면 각 컨테이너의 이미지, 포트, 환경 변수, 볼륨, 네트워크를 함께 관리해야 한다. Doc…

·8분

Docker (12) - 멀티 스테이지 빌드와 Dockerfile 작성 원칙

앞선 글에서는 Dockerfile의 주요 명령어와 이미지 빌드 방법을 정리했다. 이번 글에서는 빌드 환경과 실행 환경을 분리하는 멀티 스테이지 빌드(Multi stage build) 를 살펴본다. 멀티 스테이지 빌드를 사용하면 컴파일러, 패키지 관리자, 개발용 의존성처…

·13분

Docker (11) - Dockerfile 명령어 심화와 빌드 실습

1. 개요 Docker (4)에서 FROM, WORKDIR, COPY, RUN, ENV, EXPOSE, CMD로 이어지는 Dockerfile의 기본 골격과 멀티 스테이지 빌드를 다뤘다. 이번 글에서는 그때 다루지 않았던 나머지 명령어들(ENTRYPOINT, ADD, V…

·8분

Docker (10) - 브릿지 네트워크와 다중 컨테이너 연동

1. 개요 컨테이너는 기본적으로 호스트나 다른 컨테이너와 격리되어 있는 독립된 실행 환경이다. Docker(5)에서 사용자 정의 네트워크로 컨테이너끼리 이름으로 통신하는 방법을 다뤘는데, 이번 글에서는 그 배경이 되는 기본 브릿지 네트워크의 동작 원리 와, 포트포워딩이…

·6분

Docker (9) - Docker Hub 이미지 배포 테스트

1. 개요 직접 만든 이미지( etakyung/for docker java:latest )를 Docker Hub에 올려두기만 하고 끝내면, 이게 다른 환경에서도 제대로 동작하는지는 알 수가 없다. 그래서 이번에는 로컬에서 이 이미지를 다시 pull 받아, MySQL 컨…

·10분

Docker (8) - 볼륨 마운트와 바인드 마운트

1. 개요 컨테이너 내부에 저장된 데이터는 컨테이너의 생명주기를 그대로 따라간다. 즉 컨테이너가 삭제되면 그 안에 쌓아둔 데이터도 함께 사라진다. DB 데이터처럼 컨테이너가 없어져도 유지되어야 하는 데이터가 있다면, 별도의 저장 매커니즘으로 데이터의 영속성을 확보해야…

·9분

Docker (7) - 컨테이너 생명주기와 실행 옵션 정리

1. 개요 Docker(2)에서 docker run 으로 컨테이너를 간단히 띄워봤지만, 실제로는 컨테이너가 어떤 상태를 거쳐 살아있고 사라지는지, run 의 옵션들이 각각 무엇을 하는지, 컨테이너 내부와 파일을 어떻게 주고받는지를 알아야 제대로 다룰 수 있다. 이번 글…

·3분

Docker (6) - 이미지를 파일로 저장하고 관리하기

1. 개요 지금까지는 이미지를 항상 Docker Hub 같은 레지스트리에서 pull 로 받아서 사용했다. 그런데 인터넷이 안 되는 폐쇄망이거나, 레지스트리를 거치지 않고 이미지를 바로 다른 서버로 옮기고 싶을 때는 이미지를 파일(tar)로 통째로 내보내고 다시 불러오는…

·2분

Docker (5) - network

Docker network Docker network는 컨테이너들이 서로 통신하는 공간이다. host에서 접속하려면 port publish가 필요하지만, 같은 Docker network 안의 컨테이너끼리는 container name으로 통신할 수 있다. 별도 네트워크를…

·8분

Docker (4) - Dockerfile 구조

1. 개요 Dockerfile 은 docker build 가 image를 만들 때 읽는 레시피이다. FROM, COPY, RUN 같은 명령어를 한 줄씩 조합해서 "어떤 환경 위에 어떤 파일을 올리고, 어떤 명령을 실행할지"를 정의한다. 기본적인 명령어의 의미를 이해하고…

·2분

Docker (2) - 설치 및 간단한 컨테이너 실행

도커 데스크탑 설치 https://docs.docker.com/desktop/setup/install/mac install/ 나는 mac os를 사용하기에 위의 링크를 첨부했다. 위의 명령어를 터미널에 차례로 실행한 결과이다. 잘 다운로드가 된 걸 확인할 수 있다. d…

·1분

Docker (1) - 기본 용어

도커 용어 Docker : 애플리케이션 실행 환경을 image와 container로 표준화하는 도구와 생태계 Docker Engine : image build, container run, network, volume을 실제로 처리하는 Docker 실행 엔진 Image…

·3분

Docker (0) - Docker는 어떤 기술인가

도커 첫인상 도커를 들어보기는 했지만 어떤 역할을 하는지 잘 모르고 있었다. 그림은 귀엽게 생겨서 호감이 갔다. 고래가 컨테이너 박스 같은 것들을 나르고 있는 것처럼 보인다. 누가 도커 사용한다고 하면 뭔가 개발을 잘하는 사람처럼 보였다. 도커가 뭔지 한마디로 설명하고…