🐳 Dockerfile이란?
docker 이미지는 Dockerhub을 통해 다운받아 사용할 수 있다.
그럼 이미지는 어떻게 만드느냐?
Dockerfile을 통해 내가 원하는 환경을 가진 나만의 이미지를 만들 수 있다!
Dockerfile 생성
✅ From 이란?
From은 베이스 이미지를 생성
즉 컴퓨터 환경을 구축할 때 기본 프로그램이 어떤 걸 할지 선택하는 옵션!
# Dockerfile 에 설치할 jdk 작성
FROM openjdk:17-jdk
✅ Dockerfile 빌드 및 이미지 생성
빌드 명령어
docker build -t my-jdk17-server .
-t: 이미지에 이름(my-jdk17-server)을 붙이는 옵션
.: 현재 디렉터리의 Dockerfile을 기준으로 빌드
이미지 확인
docker image ls
my-jdk17-server라는 이름의 이미지가 생성된 걸 확인할 수 있다.
✅ container 실행시켜 보기
컨테이너 실행
docker run -d my-jdk17-server
실행 중 컨테이너 확인
docker ps
정상적으로 실행됐고 로그를 확인해 봤을 때도 에러메시지에는 에러가 없었는데 왜 실행은 안되었을까?
현재 Dockerfile은 내부에서 아무 작업도 하지 않기 때문에
컨테이너가 “할 일 없음 → 바로 종료” 가 된다!
✅ Dockerfile 수정해서 실행
Dockerfile 수정
# 도커 파일 수정
FROM openjdk:17-jdk
ENTRYPOINT [ "/bin/bash", "-c", "sleep 500" ]
# 컨테이너가 켜진 상태에서 sleep 500으로 500초간 유지되도록 설정!
다시 빌드 및 실행
# 빌드
docker build -t my-jdk17-server .
# 실행
docker run -d my-jdk17-server
# 내부 접속
docker exec -it 33 bash
#java 설치 확인
java --version
'Docker' 카테고리의 다른 글
[Docker] Docker Compose 정의 및 명령어 (0) | 2025.04.21 |
---|---|
[Docker] DockerFile 명령어 정리 (0) | 2025.04.17 |
[Docker] 도커볼륨으로 DB 실행(PostgreSQL, MongoDB) (1) | 2025.04.11 |
[Docker] Docker Volume (도커볼륨) 개념 + MySQL 실행시키기 (0) | 2025.04.10 |
[Docker] Docker 에 MySQL 접속하기 (0) | 2025.04.09 |