# CodeCommit에 있는 데이터를 EC2에서 다운받아 Docker image로 빌드 후 서비스를 실행하는 과정
1. Docker image를 다운받을 EC2 인스턴스를 생성
2021.10.24 - [AWS/EC2] - EC2 생성
2. aws configure를 통한 인증
2021.12.21 - [AWS/AWS CLI] - AWS CLI 자격증명 구성
3. AWS CodeCommit 리소스 다운로드
CodeCommit에서 다운받을 폴더를 생성한다.
mkdir [다운받을 폴더]
# EC2에 접속하여 git clone을 하게되면 아래와 같이 사용자 이름과 패스워드를 넣으라는 화면이 나온다.
위의 문제를 해결하기 위해서는 AWS IAM에가서 git에 대한 자격증명을 생성해야 한다.
AWS IAM → 사용자 → 보안 자격 증명 탭으로 이동 후 화면 하단으로 이동하면 AWS CodeCommit에 대한 HTTPS Git 자격 증명 내용이 있다.
AWS CodeCommit에 대한 HTTPS Git 자격 증명
여기사 사용자를 생성하거나, 변경 등 작업이 가능하다. 이 자격증명 정보를 활용하여 EC2 인스턴스에서 로그인 후 git clone이 가능하다.
자격증명을 완료 후 아래와 같이 정상적으로 다운로드 되었다.
2021.12.27 - [AWS/CodeCommit] - Codecommit에 리소스 다운받기
4. Docker image 생성하기
Dockerfile이 있는 폴더로 이동 후 아래의 명령어를 실행하여 Docker image를 생성한다.
. 은 현재 경로에 Dockerfile이 있기때문에 root 경로를 표시한 의미이다.
경로가 다른곳에 있다면, Dockerfile의 경로를 입력해 주면 된다.
docker build -t [생성할 이미지 이름] .
Dockerfile의 구조 예시)
설명 : 내일 작성 책보고...
FROM centos:7
RUN yum -y update && yum -y install initscripts && yum -y install git && yum -y install java-11-openjdk && yum -y install wget && yum -y install telnet && yum -y install net-tools && yum clean all && yum clean metadata && rm -rf /var/cache/yum/*
VOLUME /tmp
ARG JAR_FILE
WORKDIR /
COPY ${JAR_FILE} api.jar
COPY entrypoint.sh entrypoint.sh
RUN chmod 755 /entrypoint.sh
RUN mkdir /logs
RUN touch /logs/app.log
WORKDIR /
EXPOSE 7777/tcp
ENTRYPOINT ["sh", "entrypoint.sh"]
5. 생성한 Docker image를 실행
sudo docker image 를 입력하여 docker 이미지 리스트를 확인한다.
sudo docker ps -a 를 입력하여 현재 실행되고 있는 컨테이너 정보를 확인한다.
docker 실행 명령어 예시 )
docker run -p port_number:port_number [docker_image_name]
docker run -p 80:80 apache_web_server
포트포워딩 예시: docker run -p 9000:80 example → 80번 포트로 서비스되는 정보를 9000번으로 포트 포워딩 한다. 한마디로 80으로 들어오는 서비스를 9000번으로 바인딩 시켜서 웹페이지에서는 원래 http://0.0.0.0:80으로 접속되는 서비스를 http://0.0.0.0:9000 으로 서비스가 접속 되도록 한다.
# 모든 도커 컨테이너를 삭제하는 명령어
sudo docker rm -f `sudo docker ps -a -q`
# Docker Container의 세부 정보를 확인
sudo docker inspect [docker_container_id]
# Docker Container 내부로 접속하기
내일...
'⭐ AWS > AWS | Docker (도커)' 카테고리의 다른 글
로컬에서 Docker 이미지 생성 및 웹 페이지 띄우기(Dockerfile 추가) (0) | 2022.03.17 |
---|---|
로컬에서 docker 실행하기 (windows 10 환경) (0) | 2022.03.17 |
Docker 프로세스 죽었을때 다시 실행 시키기 (0) | 2021.04.13 |
Docker에서 새로운 컨테이너를 생성하고 웹 서버 만들기 (0) | 2021.04.12 |
도커를 활용한 AWS RDS를 이용한 데이터베이스 구축 (0) | 2021.04.10 |