728x90
반응형

docker-compose 9

[Docker, AWS, Jenkins, Spring Boot, Nginx, React, MySQL, Redis, RTMP/HLS] 프로젝트 인프라 세팅하기 (3) - AWS EC2 설정

네 이번에는 Spring Boot로 백엔드 서버만 달라졌습니다. 우선 EC2 접속하면 할 일1. Docker 설치https://docs.docker.com/engine/install/ubuntu/ UbuntuJumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on Ubuntu.docs.docker.com# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo i..

[Docker, AWS, Jenkins, Spring Boot, Nginx, React, MySQL, Redis, RTMP/HLS] 프로젝트 인프라 세팅하기 (1) - nginx.conf, Dockerfile, Docker compose 작성

2년 반 만의 인프라 세팅이다.2년 전에는 그냥 api테스트하려고 docker썼는데 이번엔 좀 다르다. 0. 폴더 구조├── aws (키 보관, gitignore 설정으로 레포에 올라가지 않음)├── client│ ├── Client project│ ├── Dockerfile├── db│ ├── init.sql (DDL 정의 - schema) ├── hls (폴더 이하 내용은 방송 시작 시 생성, 종료 시 삭제됨) │ ├── 스트리밍key-스트림번호.ts│ ├── 스트리밍key.m3u8├── media├── nginx│ ├── default.conf # client 요청 처리할 웹서버│ ├── rtmp.conf # nginx-rtmp 전용├── server│ ├── Server project├── .gi..

[Docker, AWS, Django, Nginx, Gunicorn, React, MySQL] AWS EC2 이용해서 서버 세팅하기 (2) - docker-compose.yml, 프리티어로 AWS 인스턴스 생성

글의 길이가 길어서 2개의 게시글로 나누었습니다. (1)편 https://yourhyeony.tistory.com/61 5. docker-compose.yml 작성 version: '3' services: db: # MySQL 컨테이너 image: mysql:8.0.22 # MySQL 8.0.22 이미지 사용 container_name: my01 # 컨테이너 이름 지정 command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password # 캐릭터셋 유니코드로 변경하고 비밀번호 관련 설정... ports: - "3306:3306" # 33..

[Docker, AWS, Django, Nginx, Gunicorn, React, MySQL] AWS EC2 이용해서 서버 세팅하기 (1) - db, nginx, dockerfile 작성

1. 사용한 기술 스택 및 파일 구조 기술 스택 프론트는 React 백엔드는 Django 미들웨어로 Gunicorn을 사용하고, 웹서버로 Nginx Docker로 컨테이너화한 뒤 AWS에서 EC2로 배포했습니다. 파일 구조 우선 이것은 나의 프로젝트 파일 구조! client는 프론트엔드(리액트), nginx는 서버 설정 파일, db는 데이터베이스 설정 파일(스키마 생성만 있음), server는 백엔드(장고) 파일이다. 디렉토리의 세부 구조이다. server 폴더 안은 이렇게 이루어져 있고, key.json은 시크릿키랑 api키를 모아두었다. requirements.txt는 config 폴더 안에 넣어두었다. 우선 도커파일은 /server 에만 작성했다. 모델 설치하면서 필요한 작업이 늘어났기 때문이다. ..

[Django, Docker] django.db.utils.operationalerror (2002 can't connect to mysql server on 'db' (115) )

django.db.utils.operationalerror (2002 can't connect to mysql server on 'db' (115) ) Django db utils OperationalError 2002 Can 't connect to MySQL server on 'localhost' (10061) django.db.utils.operationalerror: (2005, "unknown mysql server host 'db' (-2)") 이러한 에러를 보신건가요, 원인은 여러가지가 있으나 이번 포스트에서는 Docker의 특징으로 인해 발생한 경우에 대해 설명하고, 해결법을 알려드리려고 합니다. 원인 저는 이 에러를 장고 마이그레이션을 하는 부분에서 마주쳤습니다. 여러 이유가 있었지만, ..

[Docker, Shell] command "install/r" not found

docker compose command에서 나타나는 쉘 스크립트 오류! GitHub에서 소스코드를 내려받았는데, 이런 오류와 함께 쉘 스크립트 파일이 실행되지 않는다면? 줄바꿈이 문제인 것이다. 윈도우는 CRLF를 사용하고, 맥/리눅스는 LF를 사용한다. lf will be replaced by crlf in entrypoint.sh 아마 Git add나 commit을 했을 때 이런 경고 메시지도 같이 봤을 것이다. 해결 방법 autocrlf를 사용할 수도 있지만, 솔직히 나랑 팀원들은 이 명령어를 실행시켰을 때 별 차이가 없었다...;; 왜냐하면 이렇게 되더라도 결국 팀원들 컴퓨터는 윈도우고, 직접 파일의 줄 바꿈 설정을 LF으로 변경한 뒤(Visual Studio Code에서는 오른쪽 아래에서 변경..

[Docker-compose, MySQL] M1 환경에서 MySQL 이미지 이용하기

In particular, the mysql image is not available for ARM64. You can work around this issue by using a mariadb image. 이 오류는 컨테이너화 한 뒤 팀원분들에게 공유하면서 발생했던 오류였다. 그렇다... Mac M1칩으로는 도커의 MySQL 이미지를 사용할 수 없다. 이미지를 Mariadb로 바꾸어야하나 고민도 했지만, 해결 방법은 의외로 간단하다. docker-compose.yml version: '3' services: db: image: mysql:8.0.22 container_name: my01 command: mysqld --character-set-server=utf8 --collation-server=ut..

[MySQL, Django, Docker compose] MySQL ERROR 2002

Django db utils OperationalError 2002 Can 't connect to MySQL server on 'localhost' (10061) 이전 글과 같은 에러지만, 이번에는 장고 서버의 오류기 때문에 따로 글을 작성했다. 그래서 이 에러는 왜 나는 것이냐, 거두절미하고 원인부터 말하자면, docker-compose 관계에서 데이터베이스의 host는 데이터베이스 컨테이너 이름이어야 한다! 그동안 host는 당연히 localhost를 써왔으니까.. 하하 당연히 localhost라고 생각했는데, db는 이제 db라는 컨테이너에서 따로 돌아가고 있기 때문에 host를 바꾸어야 하는 것이었다. docker-compose.yml db: image: mysql:8.0.22 container..

[MySQL, Docker] MySQL ERROR 2002/2003/2005

며칠간 삽질했다... 나는 백엔드로 Django를 사용하고, 데이터베이스로 MySQL을 사용하는 프로젝트를 하고 있었기 때문에 docker-compose를 이용해서 MySQL 컨테이너를 만들어야 했다. 그러나! docker-compose를 빌드하면서 수없이 마주친 에러, MySQL 2003. 비슷한 에러로는 MySQL 2002 에러도 발생한다. 이 에러는 MySQL 서버에 접속할 수 없을 때 발생하는 에러인데, 최초 이미지 빌드 시에만 뜨고, 컨테이너를 재시작하면 사라지는 이상한 오류였다. 원인 신경 안 쓰려다가 재시작하는 것이 번거롭고, 마이그레이션 문제도 생겨서 원인을 찿아보던 찰나, 어떤 사람의 스택오버플로우를 발견했다... Running mysql and django inside docker-co..

728x90
반응형