컨테이너 기술 활성화에 크게 기여한 것이 바로 Docker라고 생각합니다.
Docker는 Docker Store(구 Docker Hub)라는 퍼블릭한 안테나를 통해 다양한 기업들이 참여하여 이미지를 제공할 수 있습니다.
소스에 대한 제외 이미지를 찾기가 더 어렵습니다.
컨테이너 Docker가 크기가 작은 서버를 사용자에게 허락할 수 있도록 제공할 수 있기 때문에 사용자가 원하는 솔루션에 대한 이미지를 컨테이너로 띄우기만 할 수 있습니다.
컨테이너는 독립된 구조로 운영되기 때문에 새로운 기술을 신속하게 적용할 수 있고, 컨테이너가 실행 가능한 환경이라면 어디에서도 동일하게 환경을 구축할 수 있을 것입니다.
즉, 뭔가 빠르고 적시 배포해야 하는 상황에 아주 최적화된 형태가 바로 컨테이너로서 운영되는 것입니다. 그래서 마이크로 서비스로 구성하고 독창적인 사람들이 많으며 Docker, Kubernetes를 활용하고 있습니다.
그러면 일반적으로 Docker를 사용하여 컨테이너를 구성하고 관리하는 방법에 대해 살펴보겠습니다.
Docker를 배포하는 방법입니다.
Spring Boot 공식 가이드에서 제공하는 테스트입니다.
https://github.com/spring-guides/gs-spring-boot-docker.git
샘플 프로젝트의 초기 폴더로 이동한 뒤 /src/main/java/hello/Application.java 파일에 동일하게 간단한 API를 추가합니다.
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class Application {
@RequestMapping(“/”)
public String home() {
return “Hello Docker World”;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Maven을 활용하여 제작합니다.
Dockerfile은 Docker에서 이미지 플레이어를 예비하고 컨테이너 내부 환경을 통일하는 형식의 파일 형식입니다.
같이 Dockerfile을 작성해 보았습니다.
도커파일
Dockerfile 을 작성하기 필수 기본 프레임입니다. (참조 — Dockerfile 작성방법 )
ENTRYPOINT 작성에는 다음과 같은 방식이 있습니다. 탄력되는 방식은 실행됩니다.
여러분과 함께 docker build
회의를 실행하여 Dockerfile을 통해 이미지를 생성합니다.
-t 옵션을 사용하여 [이미지명:태그] 형식의 태그를 지정합니다.
docker images
회의를 통해 이미지를 생성하여 확인합니다.
docker run
용접을 통해 생성한 이미지를 기반으로 제작을 실행합니다.
Docker에서는 하나의 컨테이너로 실행됩니다.
-p [호스트 포트:컨테이너 포트] 옵션을 통해 컨테이너의 포트를 호스트에 게시하여 호스트에서 접속 가능하도록 실행합니다.
디스플레이 docker ps
를 통해 활동하는 동안 활동 목록을 표시할 수 있습니다.
실제로 컨테이너로 실행하는 것이 가능합니다.
http://localhost:8080 으로 접속하여 확인해 보세요.
생성 및 확인은 위의 작성 및 확인을 참고합니다.
docker stop [컨테이너ID]
커뮤니티를 통해 활동을 중단합니다 .
docker ps
LED에 -a 옵션을 통해 전체 컨테이너 목록을 확인하여 STATUS가 종료된 상태를 알려드릴 수 있습니다.
교류를 통해 docker rm [컨테이너ID]
커뮤니티를 삭제합니다.
삭제하고 난뒤 컨테이너 목록을 보면 해당 컨테이너가 삭제될 수 있습니다.
컨테이너 운영 환경에 배포하는 등 이미지의 공유를 위해 이미지를 관리해야 합니다.
배열은 레파지토리의 모음이고 하나의 계정으로 많은 레파지토리를 생성할 수 있습니다.
Docker의 공용 퍼블릭 외부인 Docker Hub는 사전에 이미 구성되어 있는 무료 외부 외부 Docker Trusted Registry를 사용하여 비공개로 접근할 수 있습니다.
Docker 규정이 https://hub.docker.com 에서 가입합니다.
docker login
내부적으로 Docker Hub에 로그인하세요.
로컬에 있는 이미지를 Docker Hub에 업로드할 수 있도록 이미지를 태깅해야 합니다. 태깅을 같은 이미지가 다른 이름으로 더 만들어지게 됩니다. docker tag image username/repository:tag
귀하를 통해 이미지를 원하는 경우 업로드할 수 있도록 해주세요.
배치를 이미지 Docker Hub 레파지토리와 연관시키는 표지법은 사용자 이름/저장소:태그 입니다.
태그는 선택 사항이지만 Docker 이미지의 버전을 제공하는 것을 더 쉽게 사용하기를 권장합니다.
현재 태그는 이미지를 확인합니다.
docker push
수출을 통해 레파지토리에 태그된 이미지를 업로드합니다.
이제 여기저기서 업로드하는 이미지로 모든 컴퓨터에서 이상한 것을 즐길 수 있습니다.
이미지가 있는 곳에 Docker는 Docker Hub 대상의 레파지토리로부터 이미지를 가져오는 항목입니다.
Private Registry로서 Harbor를 활용하여 이미지를 보호할 수 있습니다.
소스인 하버를 통해 Private Registry를 구축한 후 Docker Hub를 활용하는 방식과 동일하게 활용하도록 합니다.
(Harbor에 로그인 -> 이미지 태깅 -> Harbour로 이미지 업로드)
Harbour가 다양한 솔루션을 활용하여 Private Registry를 구축해 보세요.
개설 필요 서류 홈택스 로그인(공동,민간 인증서) 사업자등록 신청 서류(온라인에서 직접 기입) 임대차 계약서 사본(임차한 경우)…