일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- nodejs
- sample
- JS
- error
- elasticsearch
- Kibana
- s3
- 영어
- MSSQL
- Linux
- 구글
- React
- Windows
- ChatGPT
- build
- docker
- SSL
- 설정
- 유니티
- API
- ssh
- MySQL
- unity
- AWS
- logstash
- Python
- mariadb
- JavaScript
- Ai
- Today
- Total
목록docker (16)
가끔 보자, 하늘.
최신 버전 테스트 할 일이 있어서 windows 11에서 Elasticsearch, Kibana 를 Docker에서 테스트하면서 정리했습니다. 우선 Docket Desktop을 설치합니다. 그리고 docker image에서 Elasticsearch를 검색해 공식 이미지를 내려받습니다. 저는 es 8.10.1 버전을 다운 받았습니다. 현재 공식 이미지의 OS는 ubuntu 20.04 버전이며, max_map_count를 같이 수정해야 합니다. 원래 linux 시스템에서는 sysctl 이나 /etc/sysctl.conf에서 수정하면 되는데 windows 에서 docket desktop으로 실행할 때는 wslconfig 파일을 만들어서 설정해두는게 좋습니다. 설정하지 않고 도커 이미지를 실행하면 "max vi..
진행 순서는 "wsl2 활성화 및 linux 설치" -> "기본 시스템 설정"-> "nvidia-docker 설치" 입니다. 윈도우에서 nvidia cuda 및 toolkit은 설치되어 있는 상태라고 가정하게 정리했습니다. 아래 내용을 쭈~~~ㄱ 따라하시면 됩니다. 서술할 내용들이 많이는 없네요. 혹시 보시고 궁금한 내용이 있으면 댓글 남겨두세요. :) [기본 설치] * powershell 관리자 모드로 실행 * Windows Subsystem for Linux 기능 활성화 > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart * Virtual Machine feature 활성화 > ..
이 글에서는 외부 인터넷이 연결되지 않는 시스템에 docker를 구축해야 할 경우에 대해 알아보겠습니다. 아래 내용은 Windows OS에 Docker desktop과 mysql image를 설치한다고 가정하겠습니다. 우선 인터넷이 되는 PC를 준비하고 docker를 설치합니다. https://www.docker.com/ 에서 docker를 다운받아 설치합니다. 이후 콘솔창에서 docker command 사용이 가능해집니다. 윈도우 콘솔창을 열어 mysql 이미지를 다운받습니다. > docker pull mysql Using default tag: latest latest: Pulling from library/mysql 051f419db9dd: Pull complete 7627573fa82a: Pull..
우선 aws congifure 설정이 필요합니다. 이와 관련된 내용은 이 링크(link)를 확인하시면 됩니다. 사용하는 계정에는 ECS Access 권한이 필요합니다. docker 설치 및 실행 우선 도커를 설치하면 됩니다. (아래 내용은 AWS Linux2를 기준으로 설명합니다.) sudo yum install docker -y sudo systemctl start docker 그리고 ec2-user에 docker group 권한을 설정합니다. sudo usermod -a -G docker ec2-user 설정 후 재접속해서 id 명령으로 ec2-user 계정에 docker 그룹이 할당된 것을 확인합니다. 이제 ecr 인증을 진행합니다. aws ecr get-login-password --region ..
이번에는 CDK로 구축한 서비스가 과부하 상태에서 ECS에 설정한 대로 부하를 잘 분산하는지 확인해 보겠습니다. 우선 ECR에 등록할 간단한 API 서비스를 만듭니다. 이 예제에서는 /calc 라는 인터페이스를 통해 랜덤한 수를 소인수분해하고 해당 결과를 돌려주도록 하는 샘플을 추가해 보았습니다. CPU 부하를 기준으로 스케일아웃을 설정할 것이므로 수초 동안 연산을 수행 후 결과를 돌려주도록 합니다. import random from fastapi import FastAPI app = FastAPI() @app.get("/") def health_check(): return 200 @app.get("/calc") async def funcCalc(): x = random.randrange(99999999..
React에 이어 Python/Docker 운영 환경에서 어떻게 환경변수를 관리하면 되는지 알아보겠습니다. 이 글에서는 파싱 라이브러리 중 하나인 pydantic의 BaseSettings(환경변수를 읽고 관리하는 모듈)를 사용하여 구현해 보겠습니다. 우리는 개발, 라이브 운영 환경을 운영해야 하며, 개발 환경은 자신의 PC에서 가동되며, 라이브 환경은 DOCKER - ubuntu로 빌드되어 가동되며, 운영 환경에 따라 DB IP와 PORT가 달라진다고 가정하겠습니다. 개발 환경을 위해 아래와 같은 코드를 준비합니다. from pydantic import BaseSettings class Settings(BaseSettings): DB_IP: str = '192.168.0.10' DB_PORT: int =..
개발, 테스트 및 라이브 환경에서 손쉽게 관리, 배포 할 수 있도록 환경 변수를 많이 사용합니다. React에서는 .env로 명명된 파일에서 REACT_APP_ 이라는 prefix가 붙은 key,value값을 기본적으로 읽어옵니다. 이를 이용해 어떻게 각 운영 환경별로 설정 한 후 코드 혹은 값 변경없이 운영이 가능한지 알아보겠습니다. 아래 예제에서는 개발, 라이브 운영 환경을 운영해야 하며, 개발 환경은 자신의 PC에서 가동되며, 라이브 환경은 DOCKER - ubuntu로 빌드되어 가동되며, 운영 환경에 따라 DB IP와 PORT가 달라진다고 가정하겠습니다. 개발 환경을 위해 .env 파일에 아래와 같이 정의합니다. REACT_APP_DB_IP=192.168.0.10 REACT_APP_DB_PORT=..
이번에 Jenkins + ECS로 CI/CD를 구축하면서 겪었던 삽질을 정리해 보았습니다. 부디 이 글을 보시고 같은 삽질 덜 하시길 바랍니다. "Hello"라는 텍스트를 돌려주는 간단한 API 서비스를 만들고 배포하는 과정을 살펴보려 합니다. 아래와 같은 절차, 인프라를 구성해 볼 예정입니다. 작업할 순서는 다음과 같습니다. 계정 생성 ECR 등록 Jenkins 설정 및 배포 ECS 구축 서비스 시작하기 1. 계정 생성 우선 사용할 계정을 하나 생성하겠습니다. CD에 사용할 계정은 인프라 관리를 위한 중요 권한을 할당해야 하는데, 안쓸때도 권한을 유지하기 보다는 AssumeRole을 이용하여 CD 시에만 일시적으로 권한을 할당하여 사용하도록 하겠습니다. "사용자 권한"은 별도 설정을 하지 않고 완료합니..