본문 바로가기

Docker5

MySQL과 Docker를 활용한 오라클 클라우드 연결 데이터베이스를 인스턴스 환경에 띄우고 로컬에서 접속하는 방법을 정리하려고 합니다.인스턴스 환경에서 MySQL을 직접 설치해 사용하는 방법도 있지만, 도커를 활용하는 방법이 더 간편하고 효율적입니다.하지만 도커 컨테이너를 사용할 경우, 데이터를 외부에 저장하도록 볼륨(Volume) 설정을 해야 합니다. 이번에는 연결 과정에 초점을 맞춰 정리해 보겠습니다.환경오라클 클라우드 인스턴스Docker이미지 다운로드1. 이미지 다운로드docker pull mysql2. 이미지 확인docker images도커를 통해 MySQL 이미지를 다운로드합니다. 버전을 명시하지 않으면 최신 버전이 다운로드됩니다.MySQL 컨테이너 실행 1. 컨테이너 실행  docker run --name mysql-container -e MYS.. 2025. 2. 26.
Docker를 활용한 서버 배포 (4) : Docker-Compose로 Django 배포하기 AWS EC2의  Ubuntu환경에서 Django 백앤드 서버를 Docker기반으로  배포해 보겠습니다. 지금 까지는 개발환경(runserver)에서 Docker를 통해 작동시켰다면 배포환경에서는 Gunicorn과 Nginx를 이용해야 한다. GunicornWSGI (Web Server Gateway Interface) 서버로, Django와 같은 Python 웹 애플리케이션을 실행하는 역할.Django가 클라이언트 요청을 처리할 수 있도록 돕는다.프로덕션 환경에서의 안정성 상승. Nginx 도메인 라우팅을 관리(리버스 프록시).CSS, JS, 이미지와 같은 정적 파일을 빠르게 제공.여러 Gunicorn 워커 프로세스 또는 서버에 요청을 분산.SSL/TLS 인증서를 통해 HTTPS를 지원하고, 클라이언트.. 2024. 12. 31.
Docker를 활용한 서버 배포 (3) : Dockerfile로 이미지 빌드 직접 Dockerfile을 사용하여 토커 이미지를 생성하고 컨테이너를 실행하여 배포과정을 실습해 보려 한다. Dockerfile  Dockerfile은 Docker 이미지를 생성하기 위한 설정 파일로, 애플리케이션 실행에 필요한 종속성, 설정, 명령어 등을 명시합니다. 이를 통해 애플리케이션을 컨테이너 화하여 어디서나 일관된 환경에서 실행할 수 있습니다.Dockerfile 명령어 FROM : 베이스 이미지를 지정.RUN : 이미지를 생성하는 동안 실행할 명령어를 입력.CMD : 컨테이너를 생성할 때, 실행할 명령어를 입력.ENTRYPOINT : 컨테이너 시작할 때, 실행할 명령어를 입력, CMD와 함께 사용하여 유연성 제공.COPY : 로컬 파일 또는 디렉토리를 컨테이너 이미지로 복사.WORKDIR : .. 2024. 12. 30.
Docker를 활용한 서버 배포 (2) : 이미지와 컨테이너 다루기 Docker 이미지는 컨테이너 내에서 애플리케이션을 실행하는 데 필요한 라이브러리 및 설정 값 등을 포함하고 있다. 이미지를 통해 만들어진 Container는 소프트웨어가 패키징 되어 있어 다른 운영 체제 환경에서도 동일하게 실행될 수 있으며, 여러 컨테이너가 동일한 이미지를 기반으로 동시에 작동할 수 있다. Docker Hub에서 이미 만들어진 이미지를 다운로드할 수도 있고, Dockerfile을 사용해 직접 이미지를 만들 수도 있다. 만들어진 이미지는 AWS EC2와 같은 클라우드 환경에서도 다운로드하여 소스 코드 없이 쉽게 배포할 수 있다.Docker 이미지를 다운로드하고, 컨테이너를 만들고 실행하는 방법을 실습을 통해 알아보자.Docker 이미지 다운로드docker pull ubuntu#출력 내용.. 2024. 12. 21.
Docker를 활용한 서버 배포 (1) : Docker 이해 Docker는 컨테이너화 기술을 제공하며, 애플리케이션과 그 실생 환경을 패키징하고 배포할 수 있게 해 준다. 이를 통해 일관된 실행 환경과 빠른 배포 및 확장 등이 가능하다. Docker 사용 이유 과거 소프트웨어 개발 주기: 폭포수 모형 과거에는 소프트웨어 개발 주기에서 폭포수 모형을 사용했다. 이 방식은 개발 과정의 한 단계가 끝나야 다음 단계로 넘어갈 수 있는 구조이다. 하지만 다음과 같은 문제점이 있었다:문제가 발생하면 이전 단계로 돌아가는 데 많은 시간과 비용이 소요된다.과정이 병행 수행되지 않아 비효율적이다.배포 후 문제가 발생하면 롤백과 수정을 반복해야 하며, 여러 서버에 수동으로 하나하나 배포해야 했다. 현대 소프트웨어 개발 주기: 애자일 모형 현재는 애자일 모형을 주로 사용한다. 이 방.. 2024. 12. 18.