02는 컨테이너 및 컨테이너 이미지에 대한 학습을 위해 진행되는 실습으로 수행하지 않아도 Amazon EKS로 웹페이지를 구성하는 실습을 진행하는데 지장이 없음
Docker file
: 컨테이너 이미지를 만들기 위한 설정 파일application
이 구동되는 것/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
명령어로 컨테이너 내부 쉘 환경으로 접근 가능
현재 실행 중인 애플리케이션 확인
실행 중인 컨테이너 중지, 삭제 수행