본 문서는 팀내 Docker Private Hub 사용방법에 대해 기술합니다.
공개된 Docker Hub에 사내 정보를 업로드하기에는 보안상 문제가 발생할 수 있다. 따라서 팀내에 Private Docker Registry를 구축하여 안전하고 편리하게 Docker Image를 관리하도록 한다.
<ip 주소> sw2-hub
"insecure-registries" : [ "sw2-hub:5050" ]
현재 HTTP로 설정이 되어있으나 docker registry 기본 접속 설정이 HTTPS로 되어 있어 오류가 발생합니다. 따라서 HTTP로 접속할 수 있는 “insecure-registries” 옵션을 사용하는 것입니다. 현재 팀 Registry가 사설망에 존재하므로 HTTP 사용으로도 관리가 가능하며, HTTPS에 설정에 다소 시간이 걸리므로 향후 보안 강화 작업을 진행할 예정입니다.
sw2-hub:5050
도커 파일은 컨테이너 이미지를 만드는데 사용되는 단순한 텍스트 기반 지침 스크립트이다. Dockerfile 이라는 이름의 파일을 만든다.
# syntax=docker/dockerfile:1 FROM node:12-alpine RUN apk add --no-cache python3 g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"]
아래 명령을 통해 도커 파일을 사용하여 새 컨테이너 이미지를 빌드할 수 있다.
$ docker build -t getting-started .
container_name과 tag를 활용하여 빌드된 docker image를 push한다.
docker push sw2-hub:5050/{container_name}:{tag}
다음 명령을 통해 이미지를 가져온다.
docker pull sw2-hub:5050/{container_name}:{tag}
다음 명령을 통해 tag를 설정한다.
docker tag {tag} sw2-hub:5050/{container_name}
curl -X GET sw2-hub:5050/v2/_catalog
http://sw2-hub:5050/v2/_catalog
curl -X GET sw2-hub:5050/v2/{container_name}/tags/list
AWAS-Insight 개발환경 컨테이너 태그 목록