이미지를 업로드하는 방법은 기존에 이미 존재하는 이미지를 이용하는 방법과
Dockerfile 을 사용하여 업로드 하는 방식이 있다.
official repositories
오피셜 레포지토리는 root 네임 스페이스에 위치한 Repo 들로 이런 Repo 에 속해있는 이미지에
접근할 경우에는 사용자 계정이 필요하지 않다.
위의 Nginx 도 오피셜 레포지토리에 속한 이미지이다.
docker image tag
이미지에 새로운 태그를 부여하는 경우 docker image tag 명령을 사용한다.
간단히 아래 명령과 같이 하면 되겠다.
$ docker image tag --help
Usage: docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
$ docker image tag nginx kin3303/nginx
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest a8a59477268d 2 weeks ago 445MB
mongo latest 14c497d5c758 2 weeks ago 366MB
kin3303/nginx latest ae513a47849c 3 weeks ago 109MB
nginx latest ae513a47849c 3 weeks ago 109MB
|
동작을 완료하고 docker image ls 로 현재 가용한 이미지의 목록을 보면
ae513a47849c 라는 이미지의 ID 에 대해
kin3303/nginx 라는 REPOSITORY 에 latest 태그로 태깅을 한 것을 확인할 수 있다.
docker image push
위 작업은 local 에서의 작업이기 때문에 kin3303/nginx 의 이미지가 도커 레지스트리에 업로드 된 것은 아니다.
실제로 업로드는 계정에 login 이 필요하며 git push 와 같이 간단히 docker image push 명령을 통해 업로드하면 된다.
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: kin3303
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
Login Succeeded
$ docker image push kin3303/nginx
The push refers to repository [docker.io/kin3303/nginx]
7ab428981537: Mounted from library/nginx
82b81d779f83: Mounted from library/nginx
d626a8ad97a1: Mounted from library/mysql
latest: digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90 size: 948
|
그리면 계정에 kin3303/nignx 라는 Repo 가 하나 생성되어 있는 것을 알 수 있다.
이제 여기에 더불어 다른 이름으로 태깅하고 올리려면 아래와 같이 하면 된다.
docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
기존에 latest 를 올린 것과 차이가 없으므로 설명은 생략한다.
$ docker image tag kin3303/nginx:latest kin3303/nginx:testing
$ docker image push kin3303/nginx:testing
The push refers to repository [docker.io/kin3303/nginx]
7ab428981537: Layer already exists
82b81d779f83: Pushed
d626a8ad97a1: Pushed
testing: digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90 size: 948
|
'Container > Docker' 카테고리의 다른 글
11. Docker Container Life Cycle (0) | 2020.01.14 |
---|---|
10. Docker Image 생성 (도커파일) (0) | 2020.01.14 |
08. Docker Image Inspect (0) | 2020.01.14 |
07. Docker Image (0) | 2020.01.14 |
06. Docker Run (0) | 2020.01.14 |