본문 바로가기

전체 글

(82)
EC2 포트 열기 하나의 도커 이미지로 여러개의 컨테이너를 실행할 수 있다. 이 때 컨테이너를 실행하면서 각기 다른 포트를 주어야 된다. 이처럼 EC2에서 여러개의 서버를 돌리고 8000번 외 다른 포트로 접근을 시도하면 응답이 너무 오래 걸린다며 접근이 안 되었다. ubuntu 포트 확인 $ netstat -tnlp 8000, 80001 포트에서 서버를 돌리고 있는 상태에서 위 커맨드를 실행해보면 아래와 같이 8000, 8001 포트가 열려있는 걸 확인할 수 있다. 내부적으로는 열려 있지만 AWS 인스턴스 자체에서는 포트를 열어주지 못하는 것. EC2 포트 열기 AWS EC2 인스턴스에 적용되어 있는 보안그룹 세부정보를 확인하면 인바운드 규칙 항목이 있다. (EC2 대시보드 > 실행중인 인스턴스 > 해당 인스턴스 ID ..
Docker 배포하기 도커 이미지를 docker hub에 올리고 AWS EC2에서 다운로드 받아 서버를 실행하는 과정 준비물: 만들어둔 AWS EC2, RDS RDS에서 할 것 RDS 접속 $ mysql -h -u -p user명은 대개 root로 설정해둔 경우가 많다. 위를 실행하고 비밀번호를 입력하면 RDS에 접속할 수 있다. DB 생성 > create database character set utf8mb4 collate utf8mb4_general_ci; 로컬에서 할 것 프로젝트 DB 설정 수정 name -> RDS에 만들어둔 DB명 user, password -> RDS user, password host -> RDS 엔드포인트 주소 그리고 RDS에 만들어둔 DB에 데이터를 채워 넣는다. 기존 로컬 DB를 mysqld..
Docker 시작하기 도커는 컨테이너를 실행하고 관리할 수 있도록 도와주는 도구이다. 도커 이전에도 컨테이너 기술은 존재했다. 왜 굳이 도커(컨테이너)를 써야 하나요? 도커를 이해하는 데 위 참고 링크가 정말 도움됐다. 특히 클래스와 인스턴스처럼 도커 이미지 바라보기 파트에서 도커 파일에 실행 시점을 더한 게 도커 이미지고, 도커 이미지에 실행 시점에 수정되어야 할 정보들을 더한 게 도커 컨테이너라는 설명! 같이 보기 좋은 글 - 도커 입문편 가상머신 중 하나인 Virtual Box를 사용해본 적이 있다. 지금 사용하고 있는 컴퓨터 위에 다른 컴퓨터를 얹는 것 같은 느낌이었고, 가상머신의 근간이 되는 파일은 기본 십여기가에 이르렀다. GUI가 갖춰진 새 컴퓨터가 기존 컴퓨터의 RAM 용량을 나눠 사용하기 때문에 컴퓨터의 속도..
TypeScript - object, Interface, class 강의 링크 이전까지는 아래와 같은 코드로 argument를 하나 하나 직접 주고 param의 type를 하나하나 지정해주었다. const sayHi = (name:string, age:number, city:string): string => { return `Hello ${name}, you are ${age} old and from ${city}.`; } console.log(sayHi('Joe', 24, 'Seoul')); export {}; 여기서 argument로 object를 넘기게 하고 싶다. 일단 object를 만들어서 넣어보면 argument가 모자르다고 에러가 난다. 함수의 param을 object를 받는 것으로 바꾸고, 이 object의 type을 interface로 지정해줘야 된다. ..
TypeScript - TS to JS 강의 링크 Node.js는 ts를 이해하지 못하기 때문에 일반적인 JS 코드로 컴파일하는 작업이 필요하다. 이하 코드에는 ""가 없지만 실제 코드를 칠 때 "를 넣어 쳐야 되고, "를 짝 맞게 치면 사라졌다. 뭐가 문제인지.... 일단 코드 실행은 정상. tsconfig.json { compilerOptions: { module: commonjs, target: ES2015, sourceMap: true, }, include: [index.ts], exclude: [node_modules] } module에 넣은 commonjs는 다양한 걸 import, export하기 위함. target은 어떤 버전의 JS로 컴파일 하고 싶은지 sourceMap 처리를 하고 싶은지 include 어떤 파일이 컴파일 과..