여러 개의 태그 도커 이미지 생성


148

하나의 Docker 이미지에 여러 개의 태그를 어떻게 첨부 할 수 있습니까? 하나의 Dockerfile을 사용하여 여러 개의 태그를 만들 수 있습니까?

어떻게 든 가능하다 ; 예를 들어 docker pull ubuntu, 여러 이미지를 얻을 수 있으며 일부 이미지에는 여러 개의 태그가 있습니다.

ubuntu                  13.10               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  saucy               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  raring              eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  13.04               eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  12.10               5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  quantal             5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  10.04               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  lucid               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  12.04               9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  latest              9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  precise             9cd978db300e        2 weeks ago         204.7 MB

답변:


79

Dockerfiles로 태그를 만들 수는 없지만 명령 줄을 통해 이미지에 여러 태그를 만들 수 있습니다.

이것을 사용하여 이미지 ID를 나열하십시오.

$ docker images

그런 다음 태그를 지정하십시오.

$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...

4
중요한 점은 Dockerfile에 있으며 이러한 명령을 Dockerfile에 쓸 수 없습니다.
Daniel YC Lin

1
ID를 수동으로 파악하지 않아도되는 방법 은 이 답변 을 참조하십시오 .
Jonathon Reinhart

439

1.10 릴리스부터 빌드시 한 번에 여러 태그를 추가 할 수 있습니다.

docker build -t name1:tag1 -t name1:tag2 -t name2 .

출처 : docker build로 여러 태그를 추가하는 기능 추가


5
나는이 빌드 프로세스에서 사용의 용이성에 대 한 더 정확한 답이라고 생각
brasskazoo

다른 버전에 대한 우분투의 태그 때문에 내용이 다르기 때문에 이것은 적절하지 않습니다.
Daniel YC Lin

2
푸시 후 저장소에 이러한 태그를 표시하려면 어떻게해야합니까? 불행히도, push 명령에 사용하는 것만 repo에 나타납니다.
체코 학

4
2018 년 말에도 Docker는 여전히이 점에서 미성숙하지만 각 '태그'는 동일한 이미지에 첨부되어 있어도 여전히 별도로 푸시 해야합니다 . 여기에 필요한 것은 Git 태그와 유사한 기능입니다.
Ed Randall

-8

하지 않는 방법 :

이미지를 만들 때 이런 식으로 태그를 지정할 수도 있습니다.

docker build -t ubuntu:14.04 .

그런 다음 다른 태그로 다시 빌드하십시오.

docker build -t ubuntu:latest .

경우 귀하의 Dockerfile 캐시를 잘 사용한다, 같은 이미지가 나올해야하고, 효과적으로 같은 이미지 태그를 재지와 같은한다. 그렇게 docker images하면 ID가 같은 것을 볼 수 있습니다.

@ david-braun이 말했듯이 dockerfile 자체로 docker 명령을 사용하여 태그를 만들 수는 없습니다.


3
@ david-braun과 같이하는 것이 더 깨끗하다고 ​​덧붙일 수 있습니다.
cassava

14
두 번 만들지 마십시오. 이 답변을 참조하십시오 .
Jonathon Reinhart

빌드는 CI / CD의 개념을 두 번 물리칩니다. 두 번째 컴파일은 종속성에 따라 다를 수 있습니다 ... 모두 타이밍에 있습니다.
Richard

4
명확한 '수행 방법'이라는 제목으로 이제이 답변이 어떻게 작동하는지 이해하는 데 도움이됩니다.
Ed Randall
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.