1) 도커 스웜을 사용하는 이유 도커 엔진을 구동하다가, CPU나 메모리, 디스크 용량과 같은 자원이 부족해지는 경우 현실적으로 새로운 서버를 새로 사는 것은 매우 어려움 가장 많이 사용하는 방법은 여러 대의 서버를 클러스터로 만들어 자원을 병렬로 확장하는 것 도커에서 제공하는 이를 위한 공식 솔루션이 바로 ‘도커 스웜’과 ‘스웜 모드’ 2) 스웜 클래식과 도커 스웜 모드 도커 스웜의 두 가지 종류 컨테이너로서의 스웜 (도커 버전 1.6 이후부터 사용 가능) : 스웜 클래식 여러 대의 도커 서버 하나의 지점에서 사용하도록 단일 접근점 제공 일반적인 도커 명령어, 도커 API로 클러스터의 서버 제어, 관리 가능 분산 코디네이터(각종 정보 저장, 동기화), 매니저(클러스터 내 서버 관리, 제어), 에이전트(..
1. 도커의 구조 도커의 구조는 크게 두 가지로 나뉨 : 클라이언트로서의 도커, 서버로서의 도커 도커 서버 : 실제로 컨테이너 생성, 실행, 이미지 관리 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행 도커 엔진은 외부에서 API 입력을 받아 도커 엔진의 기능을 수행 도커 프로세스가 실행되어 서버로서 입력을 받을 준비가 된 상태가 '도커 데몬’ 도커 클라이언트 : API를 사용할 수 있도록 CLI를 제공 유닉스 소켓을 통해 도커 데몬의 API를 호출, 입력된 명령어 전달 2. 도커 데몬 실행 service docker start service docker stop dockerd # 도커 데몬에 대한 정보 출력, 입력을 받을 수 있는 상태 3. 도커 데몬 설정 설정 파일의 DOCKER_O..
2.4 DockerFile Dockerfile을 사용하는 이유 Dockerfile을 사용하지 않고 이미지를 만드는 경우 컨테이너 생성 패키지, 설치 및 환경 세팅 소스코드 복제 컨테이너 커밋 Dockerfile을 사용 할 경우 Dockerfile에 이미지 생성을 위해 필요한 작업들 기록 build 위 처럼, Dockerfile을 사용하면 훨씬 덜 번거로움. 애플리케이션 빌드 및 배포 자동화 가능 Dockerfile 작성 ADD와 COPY ADD는 외부 Url, tar 파일에서도 파일 추가 가능 하지만 ADD는 권장되지 않음. 정확히 어떤 파일이 추가될 지 개발자가 미리 알 수 없기 때문 CMD 명령어 컨테이너가 시작될 때마다(생성된 이미지로 만들어 진 컨테이너 안에서) 실행할 명령어 설정 컨테이너를 실행..
도커 허브 (Docker hub) 도커가 공식적으로 제공하고 있는 이미지 저장소. Github에 코드를 올리는 것 처럼 도커 허브에 이미지 업로드 가능 도커 허브 사이트에 직접 방문하거나, 도커 엔진에서 ‘docker search’ 명령어를 사용해 원하는 이미지 탐색 가능 도커 이미지 생성 사용자가 직접 특정 애플리케이션을 위한 개발 환경 구축 후 이미지 생성하는 경우 사용 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] docker commit \\ -a "hyositive" -m "docker image by commit!" \\ test_container \\ test_container:first 위 명령어를 통해 test_container 컨테이너를 ..