소개
이 챌린지에서는 Red Hat Enterprise Linux 시스템에서 컨테이너화된 서비스를 관리하는 실습을 진행합니다. 여러분의 과제는 웹 서버를 위한 사용자 정의 컨테이너 이미지를 빌드하고, 해당 이미지를 기반으로 컨테이너를 실행하며, 호스트 시스템에서 서비스에 접속할 수 있는지 확인하는 것입니다. 이 연습은 Red Hat 공인 시스템 관리자 (RHCSA) 의 핵심 역량인 컨테이너 기반 애플리케이션 배포 및 관리 기술을 다룹니다.
컨테이너 내부에서 서비스 실행하기
이 챌린지에서는 Apache HTTP 서버 (httpd) 를 포함하는 사용자 정의 컨테이너 이미지를 빌드합니다. 웹 서버를 통해 제공될 간단한 HTML 파일을 생성하고, 직접 만든 이미지를 사용하여 컨테이너를 실행합니다. 마지막으로 웹 서비스가 정상적으로 작동하며 호스트에서 접근 가능한지 검증합니다.
과제
- Apache HTTP 서버 (
httpd) 가 포함된 사용자 정의 컨테이너 이미지를 빌드합니다. - 웹 서버에서 서비스할 간단한 HTML 파일을 생성합니다.
- 사용자 정의 이미지로 컨테이너를 실행하고 웹 서비스를 외부에 노출합니다.
- 웹 서비스가 올바르게 실행 중이며 호스트에서 접근 가능한지 확인합니다.
요구 사항
- 모든 파일은
~/project디렉토리 내에 생성해야 합니다. ubi9베이스 이미지를 사용하는Dockerfile을 작성합니다.Dockerfile에는httpd패키지 설치 과정이 포함되어야 합니다.<h1>태그 안에Hello, World!라는 텍스트가 포함된index.html파일을 생성합니다.- 컨테이너 이미지를 빌드하고 태그를
my-web-server로 지정합니다. my-web-server이미지를 사용하여 백그라운드에서 컨테이너를 실행합니다.- 컨테이너의 이름은
my-web-server-run으로 설정해야 합니다. - 컨테이너 내부의 웹 서버는
80번 포트에서 대기해야 하며, 이 포트는 호스트의8080번 포트와 매핑되어야 합니다.
예시
컨테이너를 성공적으로 시작한 후, 터미널에서 curl localhost:8080 명령을 실행하면 다음과 유사한 결과가 출력되어야 합니다.
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
요약
이 챌린지에서는 Red Hat Enterprise Linux 시스템에서 서비스를 컨테이너화하는 방법을 배웠습니다. 사용자 정의 환경을 정의하기 위한 Dockerfile을 성공적으로 작성하고, podman을 사용하여 컨테이너 이미지를 빌드했으며, 웹 서버를 호스팅하는 컨테이너를 실행했습니다. 또한 실행 중인 컨테이너의 상태를 확인하고 네트워크 서비스를 테스트하는 실습을 진행했습니다. 이러한 기술은 현대적인 애플리케이션 배포와 시스템 관리에 있어 필수적인 역량입니다.



