도커 실습 3 - 커스텀 이미지 생성 > 도커 & 쿠버네티스

본문 바로가기

[실습] 도커 실습 3 - 커스텀 이미지 생성

필기자
2024-10-09 02:52 676 0

본문

목차
  • 커스텀 이미지 생성

커스텀 이미지 생성

커스텀 이미지 생성 시나리오
  • 빈 컨테이너 생성 후 아파치 웹 서버와 자바를 설치
  • 아파치 초기화면을 변경하고 자바 파일을 생성 및 컴파일한 뒤, 이를 기반으로 이미지 생성

리눅스 우분투 기본 베이스 이미지로 빈 컨테이너 생성


#Ubuntu 컨테이너를 백그라운드에서 실행하고 컨테이너 내부와 상호작용 가능
docker run -dit --name my_ubuntu_container ubuntu:latest

3422125590_doHVDlpf_78a390afed59dc089d0799b3a660e1cf32b3f636.png

컨테이너 내부 접속


#컨테이너 내부 접속하여 bash 쉘을 실행하여 상호작용 가능
docker exec -it my_ubuntu_container bash


아파치 웹 서버 설치


#소프트웨어 패키지 정보 최신 상태로 업데이트
apt-get update

3422125590_gKhJmjMH_3b2e876fd0d0f818e3b9ec57bfe597ad4b7080e7.png


#아파치 웹 서버 설치
apt-get install apache2
  • Do you want to continue? [Y/n] 메시지가 출력 되면 ‘y’ 입력 후 Enter
3422125590_2BUbxc7t_a347b9ef610d90bd94524245fdfd3d466c2db1d7.png

아파치 웹 서버 시작


#아파치 웹 서버 시작
service apache2 start

3422125590_fhxMSpsw_d8ec1829b4bf6703cc5fc2305fa789934b3b8de3.png


#도커 명령어 실행을 위해 컨테이너 내부에서 나가기
exit


컨테이너 IP 확인


#컨테이너의 상세 정보 출력
docker inspect my_ubuntu_container

3422125590_EecAvZwP_54a1f8e1ed55286549c6d6954b628cb13237bfca.png

아파치 초기 화면 확인 3422125590_y4qxe3D9_cc10bcb4b673640ae6b0e4dc66c60ce3b28aecf3.png

컨테이너 내부 접속


#컨테이너 내부 접속하여 bash 쉘을 실행하여 상호작용 가능
docker exec -it my_ubuntu_container bash



#vi 텍스트 편집기 설치
apt-get install vim-tiny
  • Do you want to continue? [Y/n] 메시지가 출력 되면 ‘y’ 입력 후 Enter
3422125590_7r4HGCJD_7d1e86181c54d87df1659a03f2c435a0a79f7faf.png

초기 화면 html 파일 수정


#vi 텍스트 편집기로 아파치 초기화면 파일 내용 수정
vi /var/www/html/index.html
  • 수정 후 esc 입력 및 ‘:wq!’ 입력 후 Enter 변경 사항 저장
3422125590_jyrw4L9U_a6343781cf62856c6c672a97529e5f025e9a8cfb.png

업데이트된 아파치 초기 화면 확인 3422125590_m3I8FxQP_d6c02d123e7cd07891b46d5df06bb9ae679e2938.png

자바 설치 및 자바 파일 생성


#자바 설치
apt-get install openjdk-11-jdk –y



#vi 텍스트 편집기로 자바 파일 생성
vi HelloWorld.java
  • 입력 후 esc 입력 및 ‘:wq!’ 입력 후 Enter 변경 사항 저장

#Hello, World를 출력하는 자바 파일 생성
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}


자바 파일 컴파일 및 실행


#자바 파일 컴파일
javac HelloWorld.java



#자바 파일 실행
java HelloWorld

3422125590_DthZ4Cz2_cf845114a2d37cebbf014aa1658ac24858eb7d34.png


#컨테이너 내부에서 나가기
exit


컨테이너 커밋으로 새 이미지 생성

#my_ubuntu_container를 기반으로 my_image:v1 이미지를 생성하여 새로운 이미지 생성
docker commit my_ubuntu_container my_image:v1

3422125590_kTm8WD9I_534fc9990d1689cd6463af43e9e820d61b1dd6f5.png

새 이미지로 컨테이너 생성 및 컨테이너 IP 확인


#컨테이너를 백그라운드 모드로 실행하고, 컨테이너 내에서 아파치 웹 서버를 포그라운드 모드로 시작
#포그라운드 모드로 실행하여 웹 서버를 계속 실행하도록 하는 명령어, 컨테이너가 종료되지 않고 웹 서버가 계속 실행
docker run -dit --name my_image_container my_image:v1 apache2ctl -D FOREGROUND


3422125590_CvY0uaMP_608bd297dc16c1956b68abf563ae5bde56cff2f7.png


#컨테이너의 상세 정보 출력
docker inspect my_image_container

3422125590_PbIlOUrH_774ba1d821360273f89378f7a64cf346eaa98e16.png

업데이트된 초기화면이 기본값이 된 아파치 초기 화면 확인 3422125590_Sav0yYxN_7b490ad09b49c879f31e02f9f346172cc753af5e.png

자바 설치 여부 확인 및 자바 파일 실행 확인


#컨테이너 내부 접속하여 bash 쉘을 실행하여 상호작용 가능
docker exec -it my_image_container bash



#자바 파일 실행
java HelloWorld

3422125590_A82jGrmZ_6609e5d22961540255f03bfa08d6576edd27482c.png


#컨테이너 내부에서 나가기
exit

 

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색