컨테이너 9

Build : 도커 이미지 생성

도커 이미지 - 애플리케이션의 실행에 필요한 프로그램 본체, 라이브러리, 미들웨어, OS, 네트워크 설정, 파일과 설정값(서버 기능을 작동시키기 위해 필요한 /etc, /bin 등 디렉터리 및 파일 등) 등을 하나로 모아 도커 이미지를 만듬 - 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있기 때문에 의존성 파일을 컴파일하고 이것저것 설치할 필요가 없음 - 도커에서는 하나의 이미지에는 하나의 애플리케이션만 넣어 두고 여러 개의 컨테이너를 조합하여 서비스를 구축하는 방법을 권장함 - OS용 이미지에 애플리케이션용 이미지를 겹쳐서 다른 새로운 이미지 생성 가능 - 이미지를 만들기 위해 Dockerfile을 사용함 Dockerfile - 컨테이너 구성 정보를 기술하기 위한 파일 Dockerfile 명..

컨테이너/도커 2022.10.19

도커 설치 및 실행하기(For Windows)

➡️ Docker for Windows는 Hyper-V를 사용하여 동작하기 때문에 우선 Hyper-V를 활성화 해야한다. - 제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기 > Hyper-V 항목 체크 윈도우 환경에서 도커 설치해보기 1. 아래 사이트 참고하여 WSL(Windows Subsystem for Linux) 설치 https://docs.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package 이전 버전 WSL의 수동 설치 단계 wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다. learn..

컨테이너/도커 2022.10.19

Docker 특징 및 구조

도커 - 애플리케이션 실행 환경을 작성 및 관리하기 위한 오픈 플랫폼 - Build(이미지 생성), Ship(이미지 공유), Run(컨테이너 실행) 기능을 제공 도커 에디션 CE(Community Edition) - 로컬 환경 및 상용 지원이 불필요한 환경에 적합 EE(Enterprise Edition) - Basic : 도커사의 지원, 도커 스토어에서 이증이 끝난 컨테이너, 플러그인 제공 - Standard : Basic 기능, LDAP나 AD와 통합 가능한 도커 Datacenter 이용 가능 - Advanced : Standard 기능, 보안 기능 제공 도커 특징 확장성 - 서비스 이전이나 신규 서버에 서비스 추가 시 docker run 명령어로 처리 - 개발 서버나 테스트 서버 운용 간편 표준성 -..

컨테이너/도커 2022.10.19

Ochestration : 멀티호스트 환경에서의 컨테이너 관리

클러스터링 여러 대의 서버나 하드웨어를 모아서 한 대처럼 보이게 하는 기술 컨테이너는 보통 멀티호스트 환경(여러개의 물리머신 또는 여러개의 가상머신)으로 구축 가용성, 확장성 장점 오케스트레이션 툴 멀티 호스트 환경에서 컨테이너들의 클러스터링을 수행 멀티호스트로 구성된 환경을 클러스터 구성으로 가동시키려면 컨테이너의 시작, 정지 / 호스트 간 네트워크 연결, 스토리지 관리 / 컨테이너를 어떤 호스트에서 가동시킬지와 같은 스케줄링 기능 / 컨테이너가 정상적으로 작동하고 있는지 감시하는 기능이 필요 Kubernetes, Docker Swarm Kubernetes 여러 개의 호스트를 하나로 묶어 도커를 이용하기 위한 오케스트레이션 툴 오케스트레이션 툴을 온프레미스 환경에 도입 시 인프라 환경 구축과 더불어 컨..

컨테이너/도커 2022.10.18

Compose : 여러 컨테이너 작동

Docker Compose 여러 컨테이너를 모아서 관리하기 위한 툴(의존 관계에 있는 컨테이너들을 모아서 관리) 웹 애플리케이션을 제품 환경에서 운용할 때는 애플리케이션 서버, 로그 서버, 프록시 서버 등과 같이 여러 개의 컨테이너들을 연계하여 작동시킴 여러 개의 도커 컨테이너가 협력하면서 작동 docker-compose.yml 파일 Compose 구성관리 파일 웹 애플리케이션의 의존 관계(데이터베이스, 큐, 캐시, 애플리케이션 등)을 모아서 설정 설정을 바탕으로 docker-compose명령을 실행하면 여러 개의 컨테이너를 모아서 시작하거나 정지 컨테이너의 구성정보를 YAML 파일로 관리하므로 CI나 CD에 있어서 환경 구축에 그대로 이용 가능 compose 파일 작성 및docker-compose 명령..

컨테이너/도커 2022.10.18

가동중인 도커 컨테이너 조작

가동중인 도커 컨테이너 조작 가동 컨테이너 연결(docker container attach) docker container attach [컨테이너ID] ctrl+c : 연결한 컨테이너 종료 ctrl+p, ctrl+q : 연결한 컨테이너에서 분리 hbeen@DESKTOP-EDC39JU:~$ docker container attach centos1 [root@d7d783d0e237 /]# 가동 컨테이너에서 프로세스 실행(docker container exec) docker container exec [옵션] [컨테이너ID] [실행할 명령] [인수] 가동중인 컨테이너에서 새로운 프로세스를 실행 백그라운드에서 실행되고 있는 컨테이너에 액세스하고 싶을 때 쉘이 작동하지 않는 경우는 attach로 명령 접수 불가 ..

컨테이너/도커 2022.10.18

도커 네트워크

도커 네트워크 컨테이너는 기본적으로 eth0, lo 네트워크 인터페이스를 가지고 있음 컨테이너에 172.17.0.0/16 대역의 프라이빗 IP 주소가 eth0에 자동으로 할당 컨테이너는 내부 IP를 순차적으로 할당하며 컨테이너가 재시작될때마다 변경 외부와 연결할 경우에는 호스트에 veth라는 네트워크 인터페이스를 생성하고 컨테이너의 eth와 연결(도커엔진에 의해 자동으로 veth 인터페이스 생성) docker() 브리지가 veth인터페이스와 바인딩되어 호스트의 eth 인터페이스와 연결 NAPT 기능을 이용 → 도커에서는 NAPT에 리눅스의 iptables를 사용 Ex) 컨테이너 내 웹서버가 사용하는 80번 포트를 호스트 OS의 8080 포트로 전송하도록 설정 5가지 네트워크 구현 방식 Bridge 도커의..

컨테이너/도커 2022.10.18

Run : 도커 컨테이너 작동

도커 허브 https://hub.docker.com Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. hub.docker.com 기능 이미지 관리 도커 공식 이미지(Official Images) 및 사용자가 작성한 도커 이미지(Verified Publisher) 공개 Github나 Bitbucket과 같은 소스코드 관리툴과 연계하여 코드 빌드 Tag 이미지명 [:태그명] 태그 정보는 베이스가 되는..

컨테이너/도커 2022.10.18

Ship : 도커 이미지 공유

Dockerhub 도커에서 제공하는 기본 이미지 저장소 도커 허브는 maven repository와 같이 외부에 공개되어 있는 도커 이미지 레포지토리로 docker pull 명령을 이용하여 컨테이너를 로컬에 받아오거나, Docker image 빌드 시 베이스 이미지 등을 받아오는 데 주로 사용 베이스 이미지(Ubuntu, centos, debian 등 리눅스 배포판의 기본 기능을 제공), 공식 이미지(ruby, golang, java, python) 존재 베이스 이미지에 미들웨어나 라이브러리, 전개할 애플리케이션 등을 넣은 이미지를 겹쳐서 독자적인 도커 이미지를 만듬 회원가입만 하면 대용량의 이미지를 무료로 저장, 무료로 다운로드 기본적으로 모든 이미지는 공개되어 누구나 접근 가능하므로 비공개로 사용하려..

컨테이너/도커 2022.10.18