여러 레이어가 있는 이미지 작업을 하는 경우 이전 레이어로 롤백하거나 이미지 스택의 다른 레이어로 재설정할 수 있나요?
git reset --hard HEAD^
이미지의 Podman과 동등한 것은 무엇입니까 ?
답변1
질문하신 내용을 제가 이해한다면... podman을 사용하고 있고 여러 레이어가 포함된 이미지가 있는 경우... 효과적으로 이전 레이어로 롤백하고 싶을 것입니다.
Git과 마찬가지로 Podman 이미지 이름은 이미지 ID에 대한 참조일 뿐이며 각 이미지 레이어에는 자체 ID가 있어야 합니다.
명령을 사용하여 이미지 레이어를 본 podman history
다음 를 사용하여 선택한 레이어에 레이블을 추가할 수 있습니다 podman tag
.
예를 들어 Containerfile로 시작하는 경우:
FROM ubuntu:latest
RUN echo hello
RUN echo goodbye
RUN echo something else
그런 다음 다음을 사용하여 빌드하십시오.
podman build . -t foo
그런 다음 기록을 볼 수 있습니다.
podman history foo
ID CREATED CREATED BY SIZE COMMENT
4eb0380df1fc 6 seconds ago /bin/sh -c echo something else 1.02 kB FROM localhost/foo:latest
aedc2b11640a About a minute ago /bin/sh -c echo goodbye 1.02 kB FROM localhost/foo:latest
6782b9a36ab3 4 minutes ago /bin/sh -c echo hello 2.05 kB FROM docker.io/library/ubuntu:latest
825d55fb6340 2 days ago /bin/sh -c #(nop) CMD ["bash"] 0 B
<missing> 2 days ago /bin/sh -c #(nop) ADD file:b83df51ab7caf8a... 75.1 MB
그런 다음 하위 레이어를 표시할 수 있습니다.
podman tag 6782b9a36ab3 bar
bar
이를 통해 실제로 이미지의 하위(이전) 레이어인 이미지를 사용할 수 있습니다 foo
.
podman run -it --rm bar
분명히 이미지에 새 이름을 지정할 필요는 없으며 동일한 이름을 사용할 수 있습니다. 하지만 이렇게 하면 제거된 상위 레이어에 접근하지 못할 수도 있으니 주의하세요.