728x90 반응형 SMALL App Programming/AWS11 [AWS] 도커 PostgreSQL 배포 PostgreSQL 이미지 docker image pull postgresdocker image ls PostgreSQL 컨테이너 실행 docker container run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres docker container ls PostgreSQL 컨테이너 내부 docker container exec -it {컨테이너 ID} /bin/bashpsql -U postgresALTER USER postgres WITH PASSWORD 'postgres';CREATE DATABASE ml; \listpostgres=# \qexit 데이터 보관 docker container stop {컨테이너 ID}do.. 2024. 6. 11. [AWS] 도커 컴포즈 배포 도커 컴포즈 (Docker Compose) 도커 컴포즈 (docker compose)는 여러 개의 컨테이너를 가동할 때 사용하는 도커 어플리케이션이다. 도커 컴포즈를 사용하기 위해 docker-compose.yml이라는 YAML 파일을 사용한다. sudo apt-get updatesudo apt-get install docker-compose-plugindocker compose version flasktest 디렉토리 vim requirements.txtscikit-learn==1.5.0flask==3.0.3psycopg2==2.9.9gunicorn==22.0.0vim DockerfileFROM python:3.11.9WORKDIR /usr/src/appCOPY . .RUN python -m pip .. 2024. 6. 11. [AWS] 도커 컨테이너 nginx 배포 디렉토리 생성 docker 디렉토리에서 nginxtest 디렉토리를 생성한다. mkdir nginxtestcd nginxtest/ Dockerfile 생성 nginx를 foreground에서 실행하기 위해 CMD에 -g와 daemon off;를 추가한다. 컨테이너가 background로 실행되므로, nginx를 foreground에서 돌리지 않으면 nginx가 exited된다. vim DockerfileFROM nginx:1.26.0CMD ["nginx", "-g", "daemon off;"] 도커 이미지 빌드 docker image build . -t mynginx01 빌드된 이미지를 확인한다. docker image ls 컨테이너 실행 ocker container run -d mynginx01d.. 2024. 6. 11. [AWS] 도커 컨테이너 배포 파일 구조 확인 mv flaskapp myappmkdir flaskappmv myapp flaskappsudo apt install treetree ./ 라이브러리 버전 확인 pyenv activate py3_11_9pip list | grep -E 'scikit-learn|Flask|gunicorn|psycopg2' requirements 작성 flaskapp 디렉토리에서 requirements를 작성한다. vim requirements.txtscikit-learn==1.5.0flask==3.0.3psycopg2==2.9.9 Dockerfile 파일 생성 마찬가지로, flaskapp 디렉토리에서 Dockerfile를 생성한다. vim DockerfileFROM python:3.11.9WORKDIR .. 2024. 6. 11. [AWS] Flask에 PostgreSQL 적용 pyenv pyenv로 파이썬 3.11.9 버전을 활성화시킨다. pyenv activate py3_11_9 초기 디렉토리에서 flaskapp 디렉토리를 생성한다. mkdir flaskapp flask vim 에디터로 main 파이썬 파일을 생성한다. vim main.pyimport numpy as npfrom sklearn.linear_model import LinearRegressionimport psycopg2from flask import Flask, request, jsonifyapp = Flask(__name__)np.random.seed(0)X = np.random.rand(10, 1)y = 2 * X + 1 + 0.1 * np.random.randn(10, 1)model = LinearR.. 2024. 5. 31. [AWS] PostgreSQL 설치 PostgreSQL 설치 sudo apt install curl ca-certificatessudo install -d /usr/share/postgresql-common/pgdgsudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --failsudo sh -c 'echo "deb [signed-by=/usr/share/postgresqlcommon/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list’sudo apt updatesudo apt -.. 2024. 5. 31. [AWS] 도커 설치 도커 설치 sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && ech.. 2024. 5. 30. [AWS] EC2 Jupyter 서버 원격 서버 접속 ssh 명령을 이용하여 로컬 컴퓨터에서 서버 컴퓨터로 원격 접속한다. ssh -i @ 환경 설정을 위해 scp 명령어로 폴더를 전송한다. scp -ri @: pyenv source ~/env/pyenv.sh 파이썬 기본 버전을 3.8.5로 설정한다. pyenv global 3.8.5 requirements.txt에 정의된 파이썬 패키지를 설치한다. pip install -r ~/env/requirements.txt 주피터 서버 설치 및 설정 주피터 서버 설정 파일 생성한다. jupyter notebook --generate-configjupyter lab --generate-config 상호작용할 수 있는 ipython을 실행한다. ipythonIn [1]: from jupyt.. 2024. 5. 21. [AWS] EC2 MySQL 접속 MySQL 설치 EC2 인스턴스에 접속하여 다음 명령어로 MySQL을 설치한다. sudo apt-get install mysql-server mysql-client 설치 확인을 위해 sudo systemctl status mysql 명령어로 MySQL의 상태가 active (running)인지 확인한다. MySQL 초기 설정 MySQL의 초기 설정은 다음과 같이 진행된다. 초기 비밀번호 설정외부 접속 허용 설정MySQL 계정 생성 터미널에서 sudo mysql을 입력하고 MySQL에 접속한다. 초기 비밀번호 아래의 명령어를 입력하고 Query OK가 나와야 한다. alter user 'root'@'localhost' identified with mysql_native_password by '{초기 비밀.. 2024. 5. 16. [AWS] EC2 EC2 EC2는 AWS (Amazon Elastic Compute Cloud)에서 제공하는 클라우드 컴퓨팅 서비스이다. EC2는 어플리케이션을 실행하는 데 필요한 CPU, 메모리, 스토리지 및 네트워킹 용량을 선택할 수 있는 다양한 인스턴스 (instance) 유형인 가상 머신을 제공한다. 리눅스에서 인스턴스 접속 키 페어를 생성하여 pem 파일을 받고 인스턴스를 시작한다. 윈도우의 경우, WSL 터미널에서 pem 파일을 cp 명령어로 파일 복사를 수행한다. cp /mnt/c/Users/내_윈도우_계정명/Downloads/{키 페어 이름}.pem ~ 그 다음, chmod 400 명령으로 pem 파일을 나에게만 읽기 권한이 있도록 한다. chmod 400 ~/{키 페어 이름}.pem SSH를 사용하여 .. 2024. 5. 13. 이전 1 2 다음 728x90 반응형 LIST