본문 바로가기
728x90

Docker5

[Docker] Docker Compose 는 무엇인가 Docker Compose 란? Docker Compose 는 여러개의 도커 컨테이너를 정의하고 실행하기 위한 도구이다. Docker Compose 를 사용하면 복잡한 멀티 컨테이너 도커 애플리케이션을 쉽게 관리할 수 있다. 여러개의 서비스가 함께 동작하는 애플리케이션을 개발, 테스트, 배포할 때 특히 유용하다. Docker Compose 는 yaml 파일을 사용하여 도커 애플리케이션의 구성을 정의한다. 이 yaml 파일에는 애플리케이션에 필요한 서비스, 네트워크, 볼륨 등의 설정이 포함된다. 또한, 여러 서비스간의 의존성, 실행순서, 환경변수 등을 지정할 수 있다. Docker Compose 파일의 구성요소 간단한 docker-compose.yml 파일의 예시를 살펴보자. version: '3' ser.. 2024. 1. 7.
[Docker] 바인드 마운트(bind mount) Docker container 로그의 경우 아래 경로에 쌓인다. $ sudo su $ vi /var/lib/docker/containers/${container-id}/${container-id}-json.log 하지만 로그 외 컨테이너 내부의 특정 디렉토리를 호스트의 특정 경로에 마운트 해야 하는 경우가 있는데(예를 들어 파일비트로 로그를 읽어야 할때), 이 경우 바인드 마운트(bind mount) 를 사용하면 된다. $ docker run -d --name filebeat -v ${host 경로}:${docker container 내부 디렉토리 PATH} filebeat 2021. 9. 19.
[Docker] Docker 컨테이너 로그 관리 AWS EC2 인스턴스에 API 를 docker 로 띄웠었는데, docker 컨테이너 로그가 쌓이며 디스크 용량 부족으로 인하여 API 가 죽었고 서비스가 약 30분 정도 정지되었다. 또 이런 일이 발생하지 않도록 하기 위해 리눅스의 logrotate 를 이용하여 docker 컨테이너 로그를 관리하려고 한다. $ sudo vi /etc/logrotate.d/docker-container /var/lib/docker/containers/*/*.log { rotate 7 daily compress size=1M missingok delaycompress copytruncate } - rotate 7: 백업하는 개수. 최대 7개의 파일을 보관 (log.1, log.2, ..., log.7) - daily: 로.. 2021. 6. 16.
[Docker] Timezone 설정하기 Dockerfile 을 이용해서 이미지 빌드를 하게 되면 기본적으로 Timezone 이 UTC 로 되어 있다. 백엔드 단에서 개발하거나 로그를 관리할 때는 UTC 여도 상관 없었지만, 클라이언트 측에 시간을 전송해야 하는 상황이 발생했다. Timezone 을 KST 로 변경하는 방법은 아래와 같다. ▷ Dockerfile ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Asia/Seoul RUN apt-get install -y tzdata * DEBIAN_FRONTEND=noninteractive: tzdata 설치 시 사용자가 직접 timezone 설정을 할 수 있도록 입력할 수 있는 부분이 나오는데, 도커 이미지를 생성할 때는 입력을 할 수 없으므로 사용자의 입력 없이 넘.. 2021. 6. 2.
[Docker] docker 설치하기 Mac, Windows 에 docker 설치하기 1. Mac: docs.docker.com/docker-for-mac/install/ Install Docker Desktop on Mac docs.docker.com 2. Windows: docs.docker.com/docker-for-windows/install/ Install Docker Desktop on Windows docs.docker.com Ubuntu 18.04 에 docker 설치하기 (출처: docs.docker.com/engine/install/ubuntu/) 1) 오래된 버전 제거 $ sudo apt-get remove docker docker-engine docker.io containerd runc 2) 리포지토리 설정하기 htt.. 2021. 4. 27.
728x90
반응형