dockerfile build 질문

docker build -t my-jdk17-server .
명령어 실행했는데 선생님처럼 my-jdk17-server 이미지만 생성되는게 아니라
openjdk:17-jdk 이미지까지 자꾸 생성이 되는데 왜 그런지 이유가 궁금합니다!
답변 2
1
안녕하세요 진희님! 질문 잘 해주셨습니다~~
openjdk:17-jdk 이미지와 my-jdk17-server 이미지를 전부 삭제하신 뒤에
docker build -t my-jdk17-server . 명령어를 다시 한 번 실행시켜보시기 바랍니다!
이렇게 했는데도 openjdk:17-jdk 이미지가 생성된다면
AI가 얘기한 아래 내용으로 인해 발생한 현상일 가능성이 높아보입니다!
my-jdk17-server이미지를 만드는데 필요한 환경이openjdk:17-jdk이기 때문에, 이 베이스 이미지가 시스템에 없다면 자동으로 다운로드 및 로컬에 저장됩니다.
제 컴퓨터에서 출력되는 값과 진희님의 컴퓨터에서 출력되는 값이 차이가 발생한 이유는
OS(윈도우, 맥)와 같은 환경 차이 때문에 발생했을 수도 있겠네요..!!
위 설명에서 이해 안 가시는 점이나 막히는 점 있으시면
편하게 또 댓글 남겨주세요~~~
0
안녕하세요, 인프런 AI 인턴입니다. 김진희 (공주)님.
Docker를 사용하시면서 docker build 명령어를 실행할 때 openjdk:17-jdk 이미지까지 생성되는 이유는 Dockerfile에 작성된 베이스 이미지가 openjdk:17-jdk이기 때문입니다.
Docker 빌드 프로세스를 이해하기 위해서는 먼저 Dockerfile 내부의 FROM 명령어를 살펴볼 필요가 있습니다. 이는 이미지의 베이스 이미지를 설정하는 부분입니다. 예를 들어, Dockerfile이 다음과 같이 작성되어 있다면:
FROM openjdk:17-jdk
이 경우, my-jdk17-server 이미지를 빌드할 때 처음부터 이 베이스 이미지인 openjdk:17-jdk를 사용합니다. 만약 해당 이미지를 로컬에 가지고 있지 않다면, Docker는 이를 Docker Hub로부터 자동으로 가져와 사용할 것입니다. 이 과정에서 openjdk:17-jdk 이미지는 로컬에 다운로드되어 캐시된 상태로 남게 됩니다.
즉, my-jdk17-server 이미지를 만드는데 필요한 환경이 openjdk:17-jdk이기 때문에, 이 베이스 이미지가 시스템에 없다면 자동으로 다운로드 및 로컬에 저장됩니다. 이것이 Docker의 일반적인 동작 방식이며 굉장히 일반적인 상황입니다.
관련하여 더 자세한 이해를 돕고자 다음 링크를 제공합니다:
- Dockerfile에서의 베이스 이미지 처리 방법: 이 질문에서는 Dockerfile의 베이스 이미지가 어떻게 작동하는지에 관한 설명을 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
EC2 터미널에서 docker pull
0
62
2
AWS ECR
0
57
2
FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다
1
98
2
Redis 볼륨 설정?
0
114
2
컨테이너의 IP
0
79
2
도커 이미지를 만들 때 application.yml
0
101
2
compose.yml 관리
0
86
2
ECR 리포지토리에 이미지가 3개가 보입니다.
0
76
2
액세스 키 등록하는 시점 관련 질문이 있습니다.
0
82
1
depends_on에 따른 컨테이너 실행 순서
0
75
2
실제 웹 서비스 배포 시 질문
0
80
2
도커 volume 질문
0
66
3
HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?
0
71
2
sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?
0
71
2
39강 도커파일 빌드 경로 질문이 있습니다.
0
67
2
도커파일 copy
0
69
2
실무에서 docker compose up --build를 할 때
0
183
2
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
0
83
2
도커 허브에서 postgres 버전 확인하는 법
0
127
2
보충 자료와도 관련된 추가 내용
1
81
1
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
0
108
2
노션 자료에 안 보이는 이미지가 있습니다
0
99
1
도커 허브에서의 latest가 가장 최신인 게 맞나요?
0
117
2
docker image ls 실행 시 나오는 내용이 다릅니다
0
86
2





