안녕하세요.
오늘은 Rocky_Linux에서 Dockerfile을 이용해서 직접 컨테이너 이미지를 생성해보겠습니다.
1. Dockerfile이란?
Dockerfile은 컨테이너 이미지를 자동으로 생성하는 스크립트입니다.
- 필요한 환경(OS, 패키지, 설정 등)을 코드로 정의
- docker build 명령으로 커스텀 이미지 생성 가능
2. 간단한 Dockerfile 작성
▶ 작업 폴더 생성 및 이동
mkdir my-docker-app && cd my-docker-app
▶ Dockerfile 생성
vi Dockerfile
▶ Dockerfile 내용 작성 (예제: Nginx 웹 서버)
# 1. 사용할 베이스 이미지 설정
FROM nginx:latest
# 2. 컨테이너 내부에 파일 복사
COPY index.html /usr/share/nginx/html/index.html
# 3. 컨테이너가 실행될 때 사용할 기본 명령어
CMD ["nginx", "-g", "daemon off;"]
생성한 Dockerfile 내에 위의 내용 작성후 :wq로 저장
◈ 중간 정리
→ FROM nginx:latest → Nginx 최신 버전을 기반으로 이미지 생성
→ COPY index.html ... → index.html 파일을 컨테이너 내부로 복사
→ CMD ["nginx", "-g", "daemon off;"] → Nginx 실행
3. 간단한 HTML 파일 추가
▶ index.html 파일 생성
vi index.html
▶ 예제 HTML 내용 입력
<!DOCTYPE html>
<html>
<head>
<title>My Docker App</title>
</head>
<body>
<h1>Hello, Docker!</h1>
</body>
</html>
생성한 index.html 내에 위의 내용 작성후 :wq로 저장
4. Docker 이미지 빌드
▶ 현재 디렉토리(.)의 Dockerfile을 사용하여 이미지 생성
sudo docker build -t my-nginx-app .
(이름이 my-nginx-app인 이미지 생성)
▶ 생성된 이미지 확인
sudo docker images
5. 컨테이너 실행 및 확인
▶ my-nginx-app 컨테이너 실행
sudo docker run -d -p 8080:80 my-nginx-app
-d → 백그라운드 실행
-p 8080:80 → 호스트의 8080 포트를 컨테이너의 80 포트와 연결
▶ 실행 확인
sudo docker ps
(컨테이너가 실행 중인지 확인)
▶ 웹 브라우저에서 확인
브라우저에서 http://localhost:8080 접속 → "Hello, Docker!" 화면 확인
6. 컨테이너 중지 및 삭제
▶ 실행 중인 컨테이너 중지
sudo docker stop <컨테이너 ID>
(또는 docker stop $(docker ps -q) 로 모든 컨테이너 중지)
▶ 컨테이너 삭제
sudo docker rm <컨테이너 ID>
▶ 이미지 삭제
sudo docker rmi my-nginx-app
◈ 정리
→ Dockerfile을 사용해 커스텀 이미지 생성
→ docker build로 이미지 빌드
→ docker run으로 컨테이너 실행 및 포트 매핑
→ 브라우저에서 실행 확인 후 정리
여기까지 Rocky_Linux에서 Dockerfile을 이용해서 직접 컨테이너 이미지를 생성하고 삭제해보았습니다.
감사합니다.
'Server' 카테고리의 다른 글
아파치 웹서버와 프록시서버 그리고 WAS서버의 통신은 어떻게 동작할까? (0) | 2025.02.26 |
---|---|
Rocky_Linux에 Docker와 Kubernetes 설치하기_2 (0) | 2025.02.01 |
Rocky_Linux에 Docker와 Kubernetes 설치하기_1 (0) | 2025.01.31 |
[ Linux ] 리눅스 서버에서 port를 체크해보자 (0) | 2025.01.22 |
WAS_쓰레드풀[간단 정리] (1) | 2023.11.09 |