본문 바로가기
AWS

[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 16일차

by 원동호 2021. 9. 21.
반응형

ch 07.  DOCKER 활용하기

  • 01. 도커 설치하기 & 컨테이너 접속하기
  • 02. 도커 이미지 만들기(Dockerfile) 및 실행 -1
  • 03. 도커 이미지 만들기(Dockerfile) 및 실행 -1

터미널 접속

windows에서는 putty를 이용하고 mac 환경에서는 ssh명령어를 이용하여 ec2에 접속하자.

본인을 mac을 이용해서 접속해 보겠다.

ssh -i [.pem 파일] [ec2 계정명]@[ec2 public ip]

도커 설치

sudo yum install -y docker-io

도커 데몬 실행

sudo systemctl start docker

도커 권한부여

ec2-user 계정에 docker.sock 읽기, 쓰기 권한을 부여한다.

sudo setfacl -m user:ec2-user:rw /var/run/docker.sock

도커 컨테이너 접속

컨테이너에 접속하는 이유는 다양하다. 

세팅을 바꾸어야 필요가 있고, 용량이나 로그를 확인해야 할수도 있고, 내부 디비에 접속해야 수도 있기 때문이다.

그렇기 때문에 이미지 형태로 컨테이너가 올라가 있지만, 실제로 명령어를 통해서 해당 컨테이너에 접속해야 수도 있다.

docker exec –it [컨테이너id] /bin/bash

도커 파일 생성

도커 이미지 생성 시 Dockerfile 이라는 이름을 가지고 있으면 빌드시 파일을 자동으로 읽는다.

touch Dockerfile

FROM : 기존에 참고할 이미지가 있다면 해당 이미지를 넣고, 뒤에는 복사, 환경 변수 세팅 등 추가적으로 명시할 수 있다.

RUN : 이미지 빌드 과정에서 필요한 커맨드를 실행하기 위해서 사용된다.

ENV : 환경 변수를 설정하기 위해서 사용합니다. 

EXPOSE : 네트워크 상에서 컨테이너로 들어오는 트래픽(traffic)을 리스닝(listening)하는 포트와 프로토콜를 지정하기 위해서 사용된다.

 

server.xml, ROOT.war 파일은 기존 구축되어있는 tomcat 디렉토리에서 가져온다.

FROM tomcat:9-jre8-alpine 
  
COPY server.xml /usr/local/tomcat/conf
.
. 중략
.
EXPOSE 8080

도커 파일 빌드

docker build -t [docker image name] .

정상적으로 빌드된 것을 확인할 수 있다.

$ docker images

REPOSITORY                              TAG             IMAGE ID       CREATED         SIZE
aws/test                                latest          31f43d16afa6   5 seconds ago   145MB
tomcat                                  9-jre8-alpine   387f9d021d3a   2 years ago     108MB

도커 이미지 실행

  • -rm : 도커 실행시 일시적으로 생성할 때 사용한다. 컨테이너 중지시 자동으로 삭제된다.
  • -d : 백그라운드로 실행한다.
  • -p : host와 container의 매핑할 포트를 지정한다.
docker run --rm -d -p 8080:8080  [docker name]

실행중인 프로세스 명령어로 정상적으로 실행되었는지 확인할 수 있다.

docker ps -a

도커 컨테이너 접속

docker exec -it [docker container id] /bin/bash

톰캣 로그 확인

cd logs/
tail -f logs.log

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

-> https://bit.ly/37BpXiC

반응형

댓글