02 Docker Container Image 생성

shin·2023년 6월 13일
0

Kubernetes

목록 보기
5/12
post-thumbnail

Amazon EKS로 웹 애플리케이션 구축하기

02는 컨테이너 및 컨테이너 이미지에 대한 학습을 위해 진행되는 실습으로 수행하지 않아도 Amazon EKS로 웹페이지를 구성하는 실습을 진행하는데 지장이 없음

1. Container Image 만들기

  • Docker file : 컨테이너 이미지를 만들기 위한 설정 파일
    • 이런 이미지가 컨테이너가 되면 실질적으로 application이 구동되는 것
  • root 폴더(/home/ec2-user/environment) 위치에서 아래의 값을 붙여넣음
cd ~/environment/
cat << EOF > Dockerfile
FROM nginx:latest
RUN  echo '<h1> test nginx web page </h1>'  >> index.html
RUN cp /index.html /usr/share/nginx/html
EOF
  • FROM : Base Image를 지정(OS 및 버전 명시, Base Image에서 시작해서 커스텀 이미지를 추가
  • RUN : shell command를 해당 docker image에 실행시킬 때 사용
  • WORKDIR : Docker File에 있는 RUN, CMD, ENTRYPOINT, COPY, ADD 등의 지시를 수행할 곳
  • EXPOSE : 호스트와 연결할 포트 번호를 지정
  • CMD : application을 실행하기 위한 명령어
  • docker build 명령어로 이미지 생성
docker build -t test-image . 
  • 생성된 이미지 확인

  • 이미지를 컨테이너로 실행시킴

    • test-image라는 컨테이너 이미지를 사용하여 test-nginx라는 이름의 컨테이너를 실행하는데, 호스트 8080 포트와 컨테이너의 80 포트가 맵핑된다는 의미
    • 즉, 호스트의 8080 포트로 전달된 정보들이 도커를 통해, 컨테이너의 80 포트로 포워딩되는 것
  • 새로운 터미널 창을 열어서 현재 호스트에서 실행 중인 컨테이너 확인

  • logs 명령어로 컨테이너의 로그를 출력해서 상태 확인도 가능함

docker logs -f test-nginx
  • exec 명령어로 컨테이너 내부 쉘 환경으로 접근 가능

  • 현재 실행 중인 애플리케이션 확인

  • 실행 중인 컨테이너 중지, 삭제 수행

profile
Backend development

0개의 댓글