도커 합성으로 도커 이미지에 태그를 지정하는 방법
도커 합성을 통해 이미지를 빌드하고 특정 태그를 설정하고 싶습니다.설명서에는 다음이 나와 있습니다.
작성은 생성된 이름으로 작성하고 태그를 지정한 후 해당 이미지를 사용합니다.
그러나 태그를 지정하는 방법을 찾을 수 없으며 빌드된 이미지의 경우 항상 '최신' 태그가 표시됩니다.
된 것 . "/" 문서를 할 수 . 이제 추가할 수 있습니다.image
스크립트에 태그를 지정합니다.이것은 저에게 성공적이었습니다.
예:
version: '2'
services:
baggins.api.rest:
image: my.image.name:rc2
build:
context: ../..
dockerfile: app/Docker/Dockerfile.release
ports:
...
https://docs.docker.com/compose/compose-file/ #build
2015년 11월 20일 원본 답변:
오늘 현재 특정 태그에 대한 옵션이 없습니다.도커 컴포지트는 마법을 부리고 당신이 보는 것처럼 태그를 할당합니다. " 든지스트통할수있다니습를화언제립크▁call다니▁script있▁some▁you"라는 스크립트를 사용할 수 .docker tag <image> <tag>
당신이 부두 노동자를 부른 후에.
위 또는 여기에 설명된 옵션이 있습니다.
build: ./dir
image: webapp:tag
환경 변수나 .env 파일을 통해 태그 버전을 관리할 수도 있습니다.
https://docs.docker.com/compose/environment-variables/ #the-env-file
export TAG=1.11
예:
version: '3.3'
services:
baggins.api.rest:
image: my.image.name:${TAG}
build:
context: ../..
dockerfile: app/Docker/Dockerfile.release
ports:
...
docker-compose config
유효성을 입증하기 위해
내 ci 파이프라인에서 첫 번째 빌드는 테스트 실행에 사용되는 일회용 값으로 태그가 지정됩니다.그런 다음 태그를 최신으로 변경하고(모두 캐시되었기 때문에 거의 즉시) 다시 빌드한 다음 레지스트리를 푸시합니다.
이미지를 이미 구축한 경우 다음을 사용하여 이미지에 다시 태그를 지정할 수 있습니다.docker tag
명령:
docker tag imagename imagename:v1.0
docker tag imagename:v1.0 imagename:v1.1
개 그하려면 저소에태여개연있그고면제중려거하를 할 수 .docker rmi
명령:
$ docker rmi imagename:v1.0
Untagged imagename:v1.0
참조:
- https://docs.docker.com/engine/reference/commandline/tag/
- https://docs.docker.com/engine/reference/commandline/rmi/
빌드뿐만 아니라 이미지를 지정하는 경우, 작성은 이미지에 지정된 웹 앱과 선택적 태그를 사용하여 빌드된 이미지의 이름을 지정합니다.
build: ./dir
image: webapp:tag
이렇게 하면 다음과 같은 이미지가 생성됩니다.webapp
태그된 그가지정된태.tag
만으로 ./dir
.
https://docs.docker.com/compose/compose-file/ #build
시도할 수 있습니다.
services:
nameis:
container_name: hi_my
build: .
image: hi_my_nameis:v1.0.0
나에게 효과가 있습니다: https://docs.docker.com/build/customize/bake/compose-file/ # 사양
services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
tags:
- spring-postgres:1.0
- spring-postgres:latest
ports:
- 8080:8080
그 다음에 달려라docker compose build --no-cache
출력은 다음과 같습니다.
> docker compose build --no-cache
[+] Building 192.9s (13/13) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 457B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/eclipse-temurin:17-jre-focal 0.0s
=> [internal] load metadata for docker.io/library/maven:3.8.5-eclipse-temurin-17 0.0s
=> [builder 1/5] FROM docker.io/library/maven:3.8.5-eclipse-temurin-17 0.0s
=> CACHED [stage-1 1/3] FROM docker.io/library/eclipse-temurin:17-jre-focal 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 1.05kB 0.0s
=> CACHED [builder 2/5] WORKDIR /code 0.0s
=> [builder 3/5] COPY pom.xml pom.xml 0.0s
=> [builder 4/5] COPY src . 0.0s
=> [builder 5/5] RUN mvn clean -DskipTests -T 2C -X -am install 192.5s
=> [stage-1 2/3] COPY --from=builder /code/target/*.jar app.jar 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:a5827124abc899efcfbc8db150f72f5ff8034d1ab93418dee5c15525ae4e42a1 0.0s
=> => naming to docker.io/library/spring-postgres-backend 0.0s
=> => naming to docker.io/library/spring-postgres:1.0 0.0s
=> => naming to docker.io/library/spring-postgres:latest 0.0s
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
의 콘솔 출력은 다음과 같습니다.spring-postgres:1.0
그리고.spring-postgres:latest
공식 문서에 따르면: https://docs.docker.com/compose/environment-variables/set-environment-variables/
.env 파일에서 환경 변수를 설정할 수 있습니다.
$ cat .env
TAG=v1.5
그런 다음 검색하여 이미지의 태그로 사용할 수 있습니다.
$ cat docker-compose.yml
services:
web:
image: "webapp:${TAG}"
명령을 통해 확인할 수 있습니다.docker compose convert
$ docker compose convert
services:
web:
image: 'webapp:v1.5'
https://docs.docker.com/compose/compose-file/ #이미지
이미지가 플랫폼에 존재하지 않는 경우 Composite 구현은 다음을 기반으로 이미지를 끌어오기를 시도해야 합니다.
pull_policy
빌드 지원을 사용하여 구현을 구성하면 최종 사용자가 원본에서 이미지를 빌드하는 우선 순위를 제어할 수 있는 대체 옵션이 제공될 수 있지만, 이미지를 풀링하는 것이 기본 동작이어야 합니다.
https://docs.docker.com/compose/compose-file/build/ #http://tags
tags
빌드 이미지와 연결해야 하는 태그 매핑 목록을 정의합니다.이 목록은 추가로 제공됩니다.image
서비스 섹션에 정의된 속성
한다면image
를 지정하면 이미지 풀링이 기본 동작이 되므로 로컬 이미지만 사용하려면image
.
tags
에build
섹션은 로컬 이미지의 태그를 지정하는 올바른 위치입니다.
services:
backend:
build:
context: backend
dockerfile: ../backend.Dockerfile
tags:
- "myimage:mytag"
언급URL : https://stackoverflow.com/questions/33816456/how-to-tag-docker-image-with-docker-compose
'programing' 카테고리의 다른 글
데이터베이스에 대한 연결을 언제 열거나 닫아야 합니까? (MariaDB / node.js) (0) | 2023.08.18 |
---|---|
spring-boot-test와 spring-boot-test의 차이점은 무엇입니까? (0) | 2023.08.18 |
Sass에서 :after 및 :before 유사 요소 선택기 (0) | 2023.08.18 |
Format-Table의 PowerShell 출력 색상을 지정하는 방법 (0) | 2023.08.18 |
Android ADB 장치 오프라인, 명령을 실행할 수 없음 (0) | 2023.08.18 |