본문 바로가기

반응형

docker

[Docker] Docker Filebeat를 이용하여 spring boot 로그 시각화 선행으로 보면 도움 되는 글 spring boot 로그 - Logback, slf4j filebeat elasticsearch kibana 연동 Docker Filebeat 설치 docker pull docker.elastic.co/beats/filebeat:7.15.2 docker 를 통해 pull 받는다. (생략 가능) 위와 같은 로그들이 출력되면 설치가 정상적으로 진행된 것이다. Docker Filebeat 환경 설정 파일 작성(yml) curl -L -O https://raw.githubusercontent.com/elastic/beats/7.15/deploy/docker/filebeat.docker.yml 위 명령어를 통해 환경 설정 파일을 다운로드한다. filebeat.config: modul.. 더보기
[Docker] Elasticsearch, Kibana를 docker-compose로 구동 Elasticsearch 정리 Elasticsearch 설치 Elasticsearch 설치는 docker cli를 통해 쉽게 할 수 있다. (생략 가능) $ docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.2 Elasticsearch 단일 노드 클러스터 실행 docker run --name elasticsearch\ -p 127.0.0.1:9200:9200\ -p 127.0.0.1:9300:9300\ -e "discovery.type=single-node"\ docker.elastic.co/elasticsearch/elasticsearch:7.15.2 9200번 포트는 elasticsearch가 클라이언트와 통신하기 위한 포트이다. 포트 .. 더보기
[Docker] Docker Compose 사용 Docker Compose Docker Compose는 여러 Container를 정의하고 공유 및 한 번의 명령어로 모두 실행하거나 종료할 수 있도록 개발된 도구이다. 그러기 위해서는 기본적으로 서비스를 정의하는 YAML 파일을 만들어야한다. Docker Compose 설치 Windows 또는 Mac용 Docker Desktop을 설치한 경우라면 Docker Compose가 포함되어 설치 되어 바로 진행할 수 있고 Linux라면 Docker Compose를 따로 설치해줘야한다. 1. 다음 명령어를 통해 Docker Compose의 현재 공개된 릴리즈버전을 다운받는다 $ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/doc.. 더보기
[Docker] Docker 데이터 저장 (볼륨 / 바인드 마운트 / tmpfs) Docker Container의 데이터 저장 Docker Container 는 내부에서 데이터를 생성하면 기본적으로 Container 내부에 생성되어 Container 가 제거되면 저장된 데이터도 같이 삭제되게 된다. 하지만 서버를 운영하다보면 생성되는 데이터가 Container 의 제거 유무와는 별개로 남아있어야하는 데이터가 있을 수 밖에 없다. 이런 경우 Dockerd에서는 두 가지의 선택을 제공한다. 하나는 Volume 다른 하나는 Bind Mount, 별개로 데이터가 유지되지는 않지만 host의 메모리에 저장할 수 있는 tmpfs도 있다. 볼륨 볼륨은 Docker Container에서 생성하고 사용하는 데이터를 유지하기 위한 Docker에서 관리되는 기본 메커니즘이다. 볼륨의 장점으로는 바인드 마.. 더보기
[Docker] Ubuntu에서 Docker Engine + Docker Compose 설치 OS 요구 사항 우분투 21.10 우분투 21.04 우분투 20.04(LTS) 우분투 18.04(LTS) 이전 버전 제거 - docker, docker.id, docker-engine의 이전 버전이 존재할 경우 삭제, 처음 사용할 경우 무시하고 진행해도 된다. sudo apt-get remove docker docker-engine docker.io containerd runc image, container, network, volume 의 내용은 삭제되지 않는다. 위의 데이터를 모두 삭제하고 다시 시작하려면 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd 기존 Docker engine을 삭제하려면 sudo apt-get purge docker-.. 더보기
[Docker] Docker에서 RabbitMQ Image생성 및 실행 다운로드 및 실행 docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest --network test-network --name rabbitmq rabbitmq:[tag] -p ~~ : RabbitMQ 에서 사용하는 포드들을 모두 호스트 포트와 포트포워딩 해준다. -e : RabbitMQ Admin 계정을 id, pass를 guest로 생성 --network : RabbitMQ 를 관리할 네트워크 그룹 지정 docker network 를 잘 모른다면 Docker Network --name : RabbitM.. 더보기
[Docker] Docker의 Network 종류 및 명령어 Docker Network 종류 Bridge network (default) 아무 설정 없이 사용했을 때 기본으로 설정되는 network 호스트 pc 와 별도의 가상의 네트워크사용 포트포워딩으로(-p 옵션) 외부 네트워크와 연결 생성 명령어 - $docker network create --driver bridge [네트워크 이름] Host network container의 network 환경을 호스트의 network 환경과 동일하게 사용 포트포워딩 없이 호스트가 container를 직접 제어 None network network를 사용하지 않고 local 네트워크만 사용 호스트나 외부와 연결이 단절된다. Docker network의 기본 명령어 docker network ls - 도커에 생성된 네트워크 .. 더보기
[Docker] Dockerfile을이용하여 Spring 프로젝트 Image 생성 및 실행 Dockerfile Dockerfile은 새로운 image 를 만들기 위한 명령을 포함하고 있는 파일이다. 이 파일에 작성된 명령어와 base image를 통해 새로운 환경의 image를 만들 수 있다. Spring Project에 Dockerfile 생성 및 작성 아래 사진과 같이 자신의 Spring 프로젝트 폴더에 Dockerfile 이라는 이름의 파일을 생성해 준다. FROM openjdk:18-ea-jdk-slim VOLUME /tmp COPY build/libs/community-service-0.0.1-SNAPSHOT.jar community-service.jar ENTRYPOINT ["java","-jar","community-service.jar"] 작성 내용 FROM : 새로 생성할 Im.. 더보기

반응형