Infra
-
Docker Finding/Creating Images 2Infra/컨테이너 2022. 8. 20. 12:07
Custom 코드(Application)를 포함하는 Docker Container 만들기 어떻게 하면 Docker Hub에서 제공한는 노드 Imag를 기반으로 활용하여 Docker Finding/Creating Images 1에서 실행한 것과 같은 Application을 실행하는 custom Image를 구축할 수 있을까? custom image를 build하려면, 일단 코드가 포함된 폴더로 이동해야 한다. 그리고 거기에 새로운 file을 만들어야 한다. Dockerfile이라는 파일인데 이것은 Docker에 의해 식별된는 이름이다. Dockerfile 명령어 Dockerfile에는 custorm imagefmf 빌드할 때 실행하려는 Docker에 대한 명령이 포함된다. 따라서 base image의 설정..
-
Docker Finding/Creating Images 1Infra/컨테이너 2022. 8. 19. 17:38
대다수의 Docker Container 사용 에서 지금 까지 살펴봤었던 노드 Image와 같이 대화형 shell을 제공하는 것을 다운로드하여 실행하고 싶지는 않을 것이다. Container와 Image에 대한 경험을 시작하기에는 좋지만 이것이 모든 것은 아니다. 대신, 일반적으로 이러한 이미지를 기반으로 구축한 다음 이를 기반으로 자신만의 이미지를 구축한다. 예) 우선 노드 Image를 Container로 구축한 다음 그 Container로 특정 노트 JS 코드를 실행할 수 있다. 물론 노드도 여기서는 하나의 예일 뿐이다. 어떤 프로그램 언어를 사용하던 어떤 Application을 구축하던 마찬가지 이다. 일반적으로 공식 Image를 베이스로 가져온 다음 그 위에 코드를 추가하여 그 Image로 코드를 ..
-
Docker 외부 이미지의 사용& 실행Infra/컨테이너 2022. 8. 13. 18:17
Container는 이미지를 기반으로 한다. 실제로 Container를 실행 할 수 있도록 이미지를 생성하고, 가져오는 두가지의 방법이 존재한다. 1.이미 존재하는 이미지를 사용하는 것이다. 동료에 의해 구축된Image(Custom) 일반적이여서 미리 구축된 공식 Image 커뮤니티에서 공유한 Image Docker Hub 도커 허브에서 찾을 수 있는 위와 같은 노드 이미지는 누구나 사용할 수 있으며, NodeJS 공식 팀에서 배포, 생성, 유지, 관리한다. Docker Hub에서 공식 image run 하기 docker run node 위 와 같이 터미널에 명령어를 입력하고 엔터를 누르면 자동으로 도커 허브에서 Image를 가져온다. 이제 도커 허브에서 최신 노드 이미지를 다운로드하고 컴퓨터에 다운로드..
-
Docker Images & ContainersInfra/컨테이너 2022. 8. 13. 13:46
Containers 컨테이너는 결국 애플리케이션, 웹사이트, 노드 서버 혹은 애플리케이션을 실행하는 전체 환경 등등 무엇이든 포함하는 작은 패키지이다. 즉, 컨테이너에는 소프트웨어 실행 유닛이 존재한다. 결국 그 유닛을 Container를 사용하는 입장에서 실행하게 된다. 도커로 작업할 때, Image라는 dissolver 개념도 필요하다. Image는 템플릿, 즉 Container의 블루 프린트가 될 것이기 때문이다. 또한 이미지는 실제로 코드와 코드를 실행하는데 필요한 도구를 포함 한다. 이런 준비된 Image를 바탕으로 컨테이너가 실행되고 그때 작성된 코드가 실행 되게 한다. *dissolver : 용해[분해, 분리]기 장치 우리는 모든 설정과 명령 코드가 포함된 이미지를 한번에 생성할 수 있다. ..
-
AWS-SDK를 사용하여 S3에 업로드Infra/클라우드 2022. 8. 1. 13:56
npm Dependency aws-sdk AWS에 있는 모든 솔루션이나 서비스들을 NodeJS 직접 사용하고 컨트롤 할 수 있도록 AWS자체에서 제공해주는 package이다. 특히 S3 라이브러리를 사용할 것이다. @Post('upload') @UseInterceptors(FileInterceptor('image')) async uploadMediaFile(@UploadedFile() file: Express.Multer.File) { console.log(file); } FileInterceptor('image') 의미 => Post body를 통해서 data를 백엔드에 전달할 시 form-data에서 key가 'image'인 key-value를 통해서 file 정보를 넘긴다는 의미이다. 해당 Inte..
-
AWS 클라우드 컴퓨팅 & S3 구축Infra/클라우드 2022. 7. 31. 18:06
Amazon S3 서버 컴퓨터를 임대를 해서 그 컴퓨터에 만들어진 API를 열 수 있도록 하면 전세계에 있는 모든 사람들이 해당 API를 사용할 수 있도록 된다. S3 s3라는 디스크를 사용해서, cloud storage에다가 이미지를 저장한다. 즉 S3는 Storage이다. 버킷 정책 예제 { "Version": "2012-10-17", "Statement": [ { "Sid": "AddCannedAcl", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Re..
-
Virtual Machine vs Docker ContainerInfra/컨테이너 2022. 7. 24. 09:30
Virtual Machines/ Virthal Operating system 같은 개발환경을 제공하는 문제는 Vitual Machine으로 도 해결할 수 있는 것 아닐까? * Vitual Machine: 호스트 운영체제에 독립적인 자체 셀(Shell)을 지닌 캡술화된 가상의 운영체제를 지닌 솔루션을 의한다. Virtual Machine을 사용한다는 것은 호스트 운영체제, 즉 Windows 또는 macOS 또는 Linux가 있고, 그 위에 Virtual Machine을 설치한다는 것이다. 말하자면 컴퓨터 내부의 컴퓨터이다. Virtual Machine에는 내부에서 실행되는 자체 운영체제가 있다. 예를 들어 Linux라고 해보자 그런 다음 이 Virtual Machine은 컴퓨터와 같기 때문에 Virtual..
-
Docker란?Infra/컨테이너 2022. 7. 23. 20:48
Docker 표준화된 소프트웨어 유닛이다. 더 자세히 말하자면, 이는 코드의 패키지를 의미한다. 이 안에는 해당 코드를 실행하는데 필요한 종속성과 tool들이 포함되어 있다는 것이 중요하다. 예) Node.js 애플리케이션을 구축하는 경우 => NodeJS는 서버에서 JavaScript 코드를 실행하는데 사용할 수 있는 JavaScript RunTime이다. NodeJS와 도커로 컨테이너로 빌드된 애플리케이션이 있는 경우 그 컨테이너에는 애플리케이션 소스 코드 뿐만 아니라, NodeJS Runtime 더불어 소스 코드를 실행하는데 필요한 기타 tool들이 있을 것이다. 도커 컨테이너를 활용한 것의 장점은 특정 도커 컨테이너에 애플리 케이션을 빌드한 경우 그 컨테이너는 항상 동일한 NodeJS 코드, 동일..