docker (9) 썸네일형 리스트형 9-2. docker AWS EB, RDS, VPC, IAM 실습 1. IAM 역할 생성엘라스틱 빈스톡 권한 추가2. 엘라스틱 빈스톡 생성3. IAM 유저 생성보안자격증명에서 엑세스키 만들기4. 깃 저장소 생성환경변수 추가AWS 엑세스키, 도커 계정5. aws rds 생성6. VPC에서 보안그룹 생성인바운드 규칙에서 보안그룹 추가DB에 해당하는것. 포트 33067. rds, EB에서 생성한 보안규칙 넣기8. EB에서 도커 yml에 사용되는 환경변수 삽입MYSQLhost 변수는 rds의 엔드포인트 삽입8. 깃허브 액션 파일 EB에 알맞게 변수 수정9. 깃 저장소 push 9-1. github action, Dockerrun.awe.json, VPC, Security Group github actionname: Deploy FullStackAppon: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # 도커 로그인 - run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin # 프론트엔드 테스트를 위한 빌드 - run: docker build -t nathaneast/react-test-app -f ./frontend/Dockerfile.dev ./.. 8. docker FE, BE, mysql, nginx 실습 1. 애플리케이션 설계 2. 백엔드 소스코드 작성DockerFile(중복 생략)3. 프론트엔드 소스코드 작성DockerFileDockerFile.dev(중복 생략) nginx / default.conffe단에서 nginx 역할: 정적 소스코드 파일 제공server { listen 3000; location / { #html 위치할 루트 파일 경로 root /usr/share/nginx/html; #사이트의 index 페이지 파일명 index index.html index.htm; #react router 위한 셋팅 try_files $uri $uri/ /index.html; }} 4. mysql개발환경: 도커파일 운영환경: AWS RDS Docker.. 7. docker, aws, github action 실습 1. cra 앱 생성2. 도커파일 작성- Dockerfile- docker-compose.yml- docker-compose-dev.yml- .dockerignore3. IAM 역할 생성IAM -> 역할 -> 역할 생성 -> 서비스 또는 사용사례 EC2 선택 -> 정책 아래 3개 체크 - AWSElasticBeanstalkMulticontainerDocker- AWSElasticBeanstalkWebTier- AWSElasticBeanstalkWorkerTier4. 엘라스틱 빈스톡 환경 생성- 서비스 역할: 새 서비스 역할 생성 및 사용 체크- EC2 인스턴스 프로파일: 3번에서 생성한 역할 지정 5. IAM 사용자 생성IAM -> 사용자 -> 사용자 생성 -> 직접 정책 연결 체크 -> 아래 정책 .. 5. docker compose 1. docker compose란?다수의 도커 컨테이너를 실행하기 위한 도구 ex)노드 앱, 레디스 서버 두 개의 컨테이너가 있고 두 컨테이너의 네트워크 통신이 필요할때에도커 컴포즈를 사용 2. 실습 소스코드server.jsconst express = require("express");const redis = require("redis");const app = express();const client = redis.createClient({ host: "redis-server", port: 6379});client.set("refreshCount", 0);app.get('/', (req, res) => { client.get("refreshCount", (err, refreshCount) => { .. 4. node.js로 도커 실행 실습 1. 동작 원리도커파일 작성빌드 -> 임시 컨테이너로 이미지 생성이미지 실행 -> 컨테이너 생성컨테이너에서 스크립트 명령어로 실행 -> node.js 소스코드 실행2. 도커 파일FROM node:10WORKDIR /usr/src/appCOPY package.json ./RUN npm installCOPY ./ ./CMD ["node", "server.js"] COPY: 로컬 소스코드를 컨테이너에 복사해줌COPY를 2개로 나눈 이유npm install 전에 COPY ./ ./ 처럼 모든 로컬 소스코드 복사시소스코드가 변경된것이 있으면 npm install을 다시 진행하기 때문에패키지 수정이 없는 경우엔 npm install 생략하기 위함3. 포트 맵핑도커 실행시 로컬 네트워크를 컨테이너 내부 네트워크에 .. 3. 도커 이미지 만들기 1. 도커 이미지 생성 순서도커 파일 작성도커 이미지 만들기 위한 설정 파일도커 클라이언트도커 파일에 입력된 명령어들이 전달 됨도커 서버실제 작업을 진행이미지 생성 2. 도커 파일 만들기# dockerfile# 베이스 이미지 명시FROM ...# 추가적으로 필요한 파일 다운로드 # 도커 이미지 생성 전 실행 됨RUN ...# 컨테이너 시작시 실행 명령어 정의# 도커 파일 내 1 번만 사용 가능함CMD ... 베이스 이미지란?도커 이미지는 여럿 레이어로 구성 됨이미지의 기반이 되는 부분 (OS) 3. 도커 파일로 도커 이미지 만들기빌드 명령어: docker build ./ or docker build .빌드 과정(1) 이미지를 가져옴(2) 임시 컨테이너 생성임시 컨테이너에서 하드 디스크에 스냅샵, 시작 시.. 2. 도커 클라이언트 명령어 1. 명령어 동작 원리 해당 명령어 실행시엔 이미지가 가지고 있는 컨테이너 시작 명령어 실행함 docker run 뒤에 명령어 붙을시에는 해당 명령어에 대한 동작을 실행함 ex) ls docker run ls 2. 컨테이너 생명주기 생성, 실행 docker run : 생성, 실행 포함 docker create docker start 중지 docker stop: 하던작업 마무리하고 중지 docker kill: 바로 중지 삭제 docker rm : 실행중인 컨테이너 중지 후 삭제 가능 docker rm `docker ps -a -q`: 모든 컨테이너 삭제 docker rmi : 이미지 삭제 docker system prune: 한번에 사용하지 않는 컨테이너, 이미지, 네트워크 삭제 3. 도커로 redis 실.. 이전 1 2 다음