Cloud (19) 썸네일형 리스트형 [Docker] Multi-stage Build Docker 이미지를 만들 때, 빌드 과정에서 사용하는 여러 패키지나 라이브러리가 최종 이미지에 포함되면 불필요하게 이미지 크기가 커질 수 있다.애플리케이션을 배포하기 위한 최종 이미지는 빌드에 사용된 도구나 개발 의존성을 포함할 필요가 없으므로 이런 부분을 제거하고 필요한 파일만을 포함시키는 것이 좋다.이를 해결하기 위해 Multi-stage 빌드(Multi-stage Build)를 사용한다. Multi-stage 빌드란?Multi-stage 빌드는 Dockerfile에서 여러 개의 스테이지를 정의하여 빌드 과정과 실행 환경을 분리하는 방법이다. 각 스테이지는 독립적으로 실행되며, 이전 스테이지에서 생성된 아티팩트를 다음 스테이지로 전달하는 방식으로 진행된다. 이 방식은 최종 이미지에 필요한 파일만 남.. [Docker] Node.js 경량 웹서버 컨테이너화 및 MySQL 연동 소스코드 다운로드Node.js 경량 웹서버 코드는 여기서 받을 수 있다. GitHub - docker/getting-started-app: A simple application for the getting started guide in Docker's documentationA simple application for the getting started guide in Docker's documentation - docker/getting-started-appgithub.com $ git clone https://github.com/docker/getting-started-app.git MySQL 컨테이너 활성화1. 네트워크 생성$ docker network create todo-app 2. MySQ.. [Docker] Networking 이 글은 도커 공식문서(Docker workshop)를 기반으로 정리되었습니다. 공식 튜토리얼에서 이렇게 설명한다.'컨테이너 시작 시 네트워크를 할당하거나, 이미 실행 중인 컨테이너에 네트워크를 할당할 수 있다.'$ docker network create todo-app 네트워크를 할당하는 것치고 명령어가 너무 간단하다.내가 아는 그 네트워크가 맞는 건가 싶어 공식 문서의 설명을 읽어보았다. NetworkingLearn how networking works from the container's point of viewdocs.docker.com ❓네트워킹 : 컨테이너의 관점에서.컨테이너 네트워킹은 컨테이너들이 서로 또는 Docker 외부의 워크로드와 연결 및 통신할 수 있도록 하는 기능을 의미한다. .. Openstack 구축 매뉴얼 내가 쓴 글이 아니다.예전에 오픈스택 구축 시 참고한 Openstack Study 자료인데 여기 기록해둔다. 출처👇🏻 openstack-study/2017-fall-basic/2017.11.30_class_3.md at master · openstack-kr/openstack-studyThe repository for study activities in OpenStack Korea User Group (오픈스택 한국 커뮤니티 스터디를 위한 저장소입니다) - openstack-kr/openstack-studygithub.com Second Heading# 2017.11.30 (목) Class 3========================메뉴얼 설치OS Ver : ubuntu 16.04.03 LTSOPE.. [Docker] 볼륨(Volume)을 이용한 데이터 영속성 관리 도커는 모든 컨테이너를 격리하기 때문에 컨테이너 삭제시 컨테이너 내부에서 변경된 데이터는 저장되지 않고 사라진다.데이터를 유지하기 위해서는 볼륨(volume)을 사용해야 한다. 도커 볼륨에는 두 가지 종류가 있다.Volume Mount (Docker가 관리)Bind Mount (호스트 디렉토리를 직접 마운트)volume mount는 docker에서 관리하기 때문에 volume을 생성하면 docker 측에서 자체 생성한 디렉토리에 데이터가 저장되지만 bind mount는 직접 마운트하기 위한 host 디렉토리를 지정한다. Volume Mount1. 볼륨 생성$ docker volume create todo-db 2. 생성한 볼륨을 연결해 컨테이너 실행$ docker run -dp 127.0.0.1:300.. [Docker] 도커를 이용한 애플리케이션 컨테이너화 및 배포 과정 도커를 쓰는 이유컨테이너를 실행하면 호스트 PC에 영향을 주지 않고 서로 다른 종속성을 동시 실행할 수 있다. 컨테이너 실행 과정도커 파일로 도커 이미지를 만들고, 이미지를 실행하면 컨테이너가 된다.(마치 프로그램을 메모리에 올리면 프로세스가 되듯, 이미지를 실행하면 컨테이너가 됨) 주요 명령어docker images : 조회docker pull {이미지 이름} : 이미지 다운로드docker run : 실행 (image -> container)docker ps -a : 실행 중인 도커 컨테이너 목록 조회docker exec : 실행 중인 컨테이너 내부에 들어가는 경우 (자주 쓰는 명령어)docker rm : stop, 컨테이너 삭제docker rmi : 이미지 삭제컨테이너 내부로 들어가는 기본 명령어.. [AWS] CloudWatch로 EC2 로그 모니터링하기 목표EC2에 ssh 접속 이벤트가 발생할 때마다 CloudWatch에서 이를 모니터링하여 SNS 알림을 보내고자 한다.Ubuntu에서는 /var/log/auth.log 파일을 모니터링하여 SSH 로그인 이벤트를 감지할 수 있다. 이를 기반으로 로그 감지 데몬 + CloudWatch Agent를 설정하여 CloudWatch Logs + SNS 알림까지 연결할 계획이다. CloudWatch Logs 그룹 생성다음, CloudWatch Logs 그룹을 생성하고, CloudWatch Agent를 설정한다.나는 public key를 사용해 SSH 로그인을 하도록 설정했으므로, "Accepted publickey for"로 필터 패턴을 설정했다. 로그 그룹: EC2-SSH-Logs필터 패턴: "Accepted pu.. [AWS] Amplify로 static 리소스 호스팅하기 Upload codes on Github Registry우선 Amplify에서 호스팅할 코드를 github 레지스트리에 업로드한다.my-v0-resume에 있는 코드를 올려보려고 한다. Create Amplify Application and Select 'Github' Option '다음'을 누르면 github 리포지토리 접근 권한을 얻기 위한 창이 뜨는데, 권한을 주면 된다. Add Github Repository and Branch연동해주면 자동으로 리포지토리와 브랜치 리스트가 뜬다. 업로드하고자 하는 리포지토리와 브랜치를 선택한다. Specify Application기본적으로 Amplify에서 github의 코드를 읽고 자동으로 설정 값을 넣어준다. yml 파일도 별도 수정이 필요 없다.Final .. 이전 1 2 3 다음