목록Docker (5)
kym8821 님의 블로그

docker 서비스 restart서비스 재시작의 필요성서비스 A에 의존하고 있는 서비스 B에 대해서 생각해보자.서비스 B는 서비스 A가 실행되기 전에는 매번 실행에 실패하여 예상치 못하게 다운될 것이다. 물론 depends_on을 사용하는 것도 하나의 방법일 수는 있지만, depends_on에 서비스 이름만 등록하는 것은 서비스의 완전한 실행을 보장하지 않는다. 이러한 상황에서 우리는 서비스 실행을 위한 보험으로써 restart를 사용할 수 있다.docker-compose의 restart 속성docker-compose의 restart 정책은 컨테이너가 다운되었을 때의 재시작 규칙을 지정한다.정책설명예시no (기본값)컨테이너가 종료되어도 재시작하지 않음restart: noalways컨테이너가 종료되면 매번..

Docker Compose 기초 개념Docker Compose?도커 컴포즈는 여러개의 컴포넌트들을 정의 및 실행하기 위해서 사용하는 도구이다.docker compose의 대표적인 기능은 아래와 같다.단일 yaml 파일에서 전체 컨테이너를 관리컨테이너의 생명주기를 관리할 수 있는 명령어 제공Docker Compose 이점docker compose의 이점은 아래와 같다.빠른 애플리케이션 개발컨테이너 구성을 캐싱하므로 변경되지 않은 서비스의 빠른 재시작이 가능함간소화된 제어단일 yaml 파일에서 여러개의 컨테이너를 제어 및 관리할 수 있음 yaml 기초 개념yaml?docker compose의 기초 문법을 알아보기 전에, 우선 yaml의 문법에 대해서 알아야 한다 yaml은 xml와 json와 같이 데이터를 ..

DockerfileDockerfile이란, 도커 이미지를 만들기 위해 필요한 모든 명령어를 포함하는 텍스트 문서이다.Docker는 Dockerfile을 읽어서 자동으로 이미지를 빌드할 수 있는 기능을 제공한다. 도커 이미지는 Dockerfile 실행 결과 만들어지는 여러개의 읽기 전용 레이어로 구성된다.해당 이미지를 컨테이너로 만들면, 컨테이너 이미지라는 쓰기 가능 레이어가 생성된다. Docker build 명령어 알아보기docker build는 다양한 옵션을 제공하지만, 일단은 아래와 같은 간단한 포멧을 알아보자docker build --no-cache=false -t 이미지명:태그명 -f 도커파일경로 빌드컨텍스트경로일단 각 속성들과 요소들에 대해서 알아보자-t 혹은 --tag : 빌드할 도커 이미지..

Volume이 필요한 이유원본 이미지 A로부터 컨테이너 ca, cb를 생성했고 ca에 test라는 파일을 생성했다.이러한 상황에서 cb에는 test 파일이 생성되지 않는다. 당연한 이야기이다. 하지만 아래와 같은 상황에서 문제가 발생한다.하나의 저장공간을 공유하는 여러개의 DB 컨테이너를 실행중인 상황동일한 원본 이미지를 갖는 여러 컨테이너들이 특정 폴더를 공유해야하는 상황이러한 상황에서 volume이라는 개념은 좋은 해결책이 될 수 있다. Volume이란volume이란, 컨테이너 내부와 외부 저장소 간 링크를 생성하는 것이다. 이를 통해서 아래 효과를 얻을 수 있다.컨테이너 내부 데이터 수정 시 외부 저장소 데이터도 수정됨컨테이너가 삭제되어도 외부 저장소에 데이터가 남아있음새로운 컨테이너 생성 시 외부..

Docker란?우선 도커에 대한 개념을 먼저 읽어보자Docker는 리눅스 응용 프로그램들을 소프트웨어 컨테이너에 배치하는 일을 자동화하는 오픈소스 프로젝트이다. 솔직히 말해서 정말 어려운 문장이다... 이 문장을 이해하기 위해서는 컨테이너와 가상화에 대한 기초 개념이 필요하다. 가상화가상화는 하드웨어를 추상화하는 기술이다. 하나의 하드웨어 자원을 여러대인 것처럼 운용하거나, 여러개의 장치를 하나의 장치인 것처럼 제공해준다.간단한 예시를 들자면, 전자는 클라우드 서비스이고 후자는 클러스터링이 있다.아래 그림은 어떤 방식으로 가상화가 이루어지는지를 그림으로 나타낸 것이다. 가상화 방식 또한 여러 가지가 있으므로 더 깊은 공부를 원한다면 추가적으로 알아보는 것을 추천한다. 우선 위 그림에 나와있는 각 요소들에..