https://hub.docker.com 에 가입시 무료는 계정당 public 무제한 / private 1 개가 주어집니다

public에 중요한 데이터를 올리고 사용 할 수는 없으니 private를 이용하거나  더 많은 repository를 이용하고 싶다면

유료전환 혹은 개인 repository를 이용해야 합니다.

다음은 쿠버네티스에서 각 영역을 사용하는 방법입니다. (선행작업 - docker build 및 docker push 등으로 이미지가 올라가 있어야 합니다.)

 

[public 사용법]

## pod 생성

$ kubectl create -f test.yaml

-------------test.yaml-----------------------------------------------
apiVersion: v1

kind: Pod
metadata:
  name: <Pod 이름>
spec:
  containers:
  - name: <컨테이너 이름>
    image: <Docker Hub ID>/<Repository 이름>:<이미지 버전>
 
 
 
[private 사용법]
 
기본적으로 $ doker login 명령을 수행하면 
 
도커 허브로 로그인이 되며 그 정보는 아래 파일에 등록 됩니다.
 
$ cat ~/.docker/config.json 
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "abcdefghijklmnopqrstuvwxyz"
}
}
}
 
이 파일에서 auth부분을 아래처럼 decode 하면 본인이 입력한 ID/PW 도 확인 가능하죠.
 
$ echo "abcdefghijklmnopqrstuvwxyz" | base64 --decode
<dockerID>:<dockerPW>
 
 
## secret 생성
$ kubectl create secret docker-registry <secret 이름 : secretTest> --docker-username=<도커ID> --docker-password=<도커PW> --docker-email=<e-mail>
## 확인
$ kubectl get secret
 
## pod 생성시 위에서 만든 secret 사용
$ kubectl create -f test2.yaml
-------------test2.yaml-----------------------------------------------
apiVersion: v1
 
kind: Pod
metadata:
  name: <Pod 이름>
spec:
  containers:
  - name: <컨테이너 이름>
    image: <Docker Hub ID>/<Repository 이름(private)>:<이미지 버전>
  imagePullSecrets:
  - name: secretTest