docker11 [docker] 컨테이너 오케스트레이션 docker swarm cluster Docker swarm mode Docker swarm은 도커 컨테이너를 위한 분산 환경 클러스터링 및 스케줄링 도구다. Docker는 단일 호스트, Docker swram mode는 다중 호스트 기반의 컨테이너 기반 애플리케이션 관리 도구다. -> Orchestration tools 여러 대의 노드 기반의 클러스터를 구축하여 별도의 추가 비용 없이 swarn mode를 초기화하여 사용한다. 기본적으로 도커는 오케스트레이션 기능을 탑재하고 있습니다. 위와 같이 docker info 명령어를 통해 Swram이 inactive 상태로 사용하지 않고 있습니다. 이것을 init을 통해 active 상태로 바꿀 수 있습니다. Docker swarm mode 주요 기능 Docker 엔진과 통합된 multi host.. docker 2023. 10. 29. [docker] Docker compose를 사용해보자 docker compose는 쿠버네티스와 같이 컨테이너 오케스트레이션 및 컨테이너화된 애플리케이션에 사용되는 도구입니다. 지금까지 도커 CLI를 통해 실행시키는 컨테이너는 단일 컨테이너 서비스였습니다. 도커 컴포즈는 다중 컨테이너 도커 애플리케이션을 정의하고 실행하기 위한 도구이고 특이점은 yaml 파일을 사용하여 애플리케이션을 수행한다는 것입니다.-> 선언적 구성 이후에는 docker compose CLI를 통해 서비스의 라이프 사이클을 관리합니다. Docker compose 기본적으로 도커 컴포즈는 응집력 있는 애플리케이션으로 함께 작동하는 여러 컨테이너를 실행하려는 로컬 개발 및 테스트 환경을 위해 설계된 도구입니다. 여기서 응집력있는 애플리케이션은 하나의 웹 애플리케이션을 생성하는 3-Tier 환.. docker 2023. 10. 28. [Docker] Dockerfile IaC(Infrastructure as Code)가 필요한 이유 IaC(Infrastructure as Code) 코드형 인프라가 필요한 이유는 커맨드 기반의 인프라 구성시 사용자 실수 등의 인적 오류 가능성이 높다. 각종 환결 설정 정보와 설치 프로그램을 요구사항에 맞게 따져야 하며 설치 이후에도 잘못된 부분이 있다면 수정해야하고 재설치도 불가피하다. 이러한 수고로움을 하나의 이미지로 만들어 두고, 수정사항은 언제든 코드 변경이 용이하다면 개발 업무에만 집중할 수 있다. "코드형 인프라"는 탄력성, 확장성, 반복성을 부여하게 되어 눈송이 서버가 아닌 동일한 환경을 보유한 서버(컨테이너)를 수십~수백대를 운영, 관리하게 해준다. Dockerfile Dockerfile은 Docker에서 동작하는 컨테이너의.. docker 2023. 10. 26. [Docker] 컨테이너 리소스 모니터링 모니터링을 해야 하는 이유 모니터링은 시간의 흐름에 따른 시스템 및 여러 구성요소의 동작과 출력등을 관찰하고 확인하는 작업을 통해 자원의 효율적인 사용을 식별, 평가한다. 모니터링은 활용률 및 처리량 같은 Metric(지표)에 중점을 두고 시스템 전반의 성능을 알 수 있다. - 메모리 사용량 급증, 캐시 적중률 감소, CPU 사용량 증가 cadvisor google에서 제공하고 관리하는 오픈소스 컨테이너 모니터링 도구이다. Docker 컨테이너와 다른 컨테이너 플랫폼에도 기본적으로 지원 가능 HostOS에서 실행 중인 컨테이너에 대한 정보를 수집하고 해당 데이터를 처리한 후 내보내는 단일 컨테이너 데몬으로 구성 이전 리소스 사용량, 리소스 격리 매개 변수 및 각 컨테이너 머신 전체에 대한 네트워크 통계 .. docker 2023. 10. 24. [docker] Volume Volume 기술 이해 - Docker에서 제공하는 볼륨 기술은 컨테이너 애플리케이션에서 생성되고 사용되는 데이터를 유지, 보존하기 위한 메커니즘을 제공한다. 컨테이너가 삭제되어도 볼륨은 독립적으로 운영된다. - 볼륨은 Docker HostOS와 컨테이너에서 직접 접근 가능하다. - 일반적으로 컨테이너 내부의 데이터는 컨테이너의 생명주기와 연관되어 종료시 삭제되지만, 이를 지속적(persistent)으로 보존하기 위한 방법으로 volume 기술을 사용한다. 볼륨 방식은 3가지가 있다. bind mount, volume, tmpfs mount Bind Mount - Bind Mount 기법은 디렉터리 뿐만 아니라 파일 mount도 가능하다. " 호스트 파일 시스템 절대 경로" : "컨테이너 내부 경로" .. docker 2023. 10. 23. [Docker] Docker 로그인 방법 Dokcer 로그인하기 Docker에 로그인 하기 위한 방법에는 3가지가 있다. 기본적으로 https://hub.docker.com/ 에 회원 가입이 된 상태에서 진행된다. 1. 아이디와 비밀번호로 로그인 하기 터미널에서 docker login을 하면 Username과 Password를 입력하는 커멘드가 나온다. 올바른 Username, Password를 입력했다면 내 암호가 저장되어 있는 경로를 보여준다. /?/?/.docker/config.json 파일은 base64로 인코딩 되어 있다. 인코딩 : echo '비밀번호' | base64 디코딩 : echo '비밀번호' | base64 -d 로그아웃은 docker logout을 하면 된다. 2. 액세스 토큰으로 로그인하기 오른쪽위의 Account set.. docker 2023. 10. 21. 도커기본 명령어 및 도커 허브에 이미지 올리기 $ docker run [OPTIONS] IMAGE[:TAG | @DIGEST] [COMMAND] [ARG...] 옵션 설명 -d detached mode 흔히 말하는 백그라운드 모드 -p 호스트와 컨테이너의 포트를 연결(포워딩) -v 호스트와 컨테이너의 디렉토리를 연결(마운트) -e 컨테이너 내에서 사용할 환경변수 설정 --name 컨테이너 이름 설정 --rm 프로세스 종료시 컨테이너 자동 제거 -it -i과 -t를 동시에 사용한것으로 터미널 입력을 위한 옵션 --link 컨테이너 연결 [컨테이너 별칭] 정상적으로는 docker create 와 start를 사용하지만 run 명령어는 현재 그 이미지가 없으면 다운 까지 받아 동시에 실행까지 시켜줍니다. run 명령어 뒤에 [OPTIONS] 에 위와 같은.. docker 2023. 2. 26. [Docker] Docker MySQL사용하기 Docker에 MySQL 설치하기 DockerHub에 MySQL이 존재하기 때문에 별도의 설치 없이 바로 mysql을 사용할 수 있습니다. 만약 MySQL 이미지를 설치하려면 docker pull mysql:8.0.17 위와 같은 명령어를 치면 됩니다. docker pull mysql 시에는 최신 버전 'latest'를 가져옵니다! MySQL 컨테이너 생성하기 docker run -p 3306:3306 --name board -e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=board -e MYSQL_USER=jisu -e MYSQL_PASSWORD=1234 -d mysql 포트 번호는 '3306'으로 여러개의 mysql을 만들시에는 3307:3306, 3308:3306 .. docker 2022. 10. 9. [doker] 도커 빌드 및 도커 컨테이너 실행 이전 글에서 도커 설치까지 하였습니다. 이제 스프링부트에서 도커를 빌드하고 컨테이너를 실행해보도록 하겠습니다. 스프링 프로젝트 생성 gradle java 11 그리고 dependencies 는 web만 추가해주었습니다. DockerController package com.example.springbootdocker.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DockerController { @GetMapping("/") public String home() {.. docker 2022. 7. 22. [docker] window10 도커 설치 이전 글에서 도커가 무엇인지는 대충 이론으로는 알겠는데 개발자라는게 백문이 불여일타 라고 일단 해봐야 알지 않을까 해서 일단 설치부터 하고 프로젝트도 만들고 시작해보겠습니다. 일단 도커를 설치하기 전에 해줘야할 설정들이 있습니다. hyper v 를 활성해줘야하고 WSL2를 설치해줘야합니다. Hyper v 활성화 1. 윈도우 키 + x 를 눌러준다. 2. window powershell 관리자권한으로 실행을 시켜준다. 3. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 을 파워쉘에 치고 엔터를 눌러준다. 4. Enable-WindowsOptionalFeature -Online -FeatureName containers –.. docker 2022. 7. 21. [docker] 도커란? 컨테이너란? 컨테이너는 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 항목과 애플리케이션 코드를 함께 포함하는 경량 패키지입니다. 컨테이너는 운영체제 수준에서 CPU, 메모리, 스토리지, 네트워크 리소스를 쉽게 공유할 수 있게 해주며 컨테이너가 실제로 실행되는 환경에서 애플리케이션을 추상화할 수 있는 논리 패키징 메커니즘을 제공합니다. 보통 이라면 컨테이너라고 하면 이러한 컨테이너 박스를 생각 하실것입니다 IT 의 컨테이너 기술은 말그대로 아래와 같은 의미를 가지고 있으며 구동되는 형태도 이와 유사 합니다. 그리고 이러한 컨테이너는 아래와 같이 아주 큰 화물선에 실려서 이동되게 됩니다. 이처럼 컨테이너란 기술은 OS 위에 다수의 여러 애플리케이션 자.. docker 2022. 7. 21. 이전 1 다음