Deployment 7

Docker Volume(도커 볼륨)

Docker Volume이란 무엇일까? 컨테이너는 기본적으로 임시적인 환경이라서 컨테이너가 종료되거나 삭제되면 그 안의 데이터도 함께 사라진다.도커 볼륨은 이러한 문제를 해결해주는 영구적인 데이터 저장 공간을 말한다. 볼륨(Volume)은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 도커 볼륨 사용 명령어docker run -v [호스트의 디렉토리 절대경로]:[컨테이너의 디렉토리 절대경로] [이미지명]:[태그명] 그럼 이제 도커 볼륨을 통해 MySQL을 사용해보자.  1. MySQL 컨테이너 띄우기 $ cd /Users/jaeseong/Documents/Develop$ mkdir docker-mysql # MySQL 데이터를 저장하고 싶은 폴더 만들..

Deployment/Docker 2025.03.23

Docker CLI

Docker를 사용하면서 많이 이용되는 CLI를 몇개 공부 했다. 도커 이미지 생성,삭제도커 컨테이너 생성,삭제로그 확인컨테이너 포트 연결 도커 이미지 다운로드# docker pull 이미지명$ docker pull nginx # docker pull nginx:latest와 동일하게 작동  특정 버전 도커 이미지 다운로드# docker pull 이미지명:태그명$ docker pull nginx:stable-perl 태그명은 도커허브에 들어가서 확인 가능하다. https://hub.docker.com/ Docker Hub Container Image Library | App ContainerizationIncrease your reach and adoption on Docker Hub With a Doc..

Deployment/Docker 2025.03.21

Docker를 활용하여 Nginx 설치 및 실행

1. Docker Hubd라은 이미지 저장소에서 nginx의 최신 이미지를 내 컴퓨터로 다운로드  2. 도커 이미지 목록을 확인하여 Nginx가 정삭적으로 다운로드 되었는지 확인 3. nginx 웹 서버를 실행하는 컨테이너를 webserver라는 이름으로 백그라운드에서 실행하고, 내 컴퓨터의 80포트와 연결  4. 현재 실행 중인 컨테이너 목록확인  크롬에서 잘 돌아가는 것을 확인할 수 있다.  5. 실행 중인 컨테이너를 멈추기

Deployment/Docker 2025.03.19

Docker란 무엇인가

도커란 무엇일까? 도커(Docker)는 컨테이너 기반 가상화 플랫폼으로, 응용 프로그램과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행하는 기술이다.   도커를 왜 사용하나 Docker의 가장큰 장점은 이식성에 있다. 🎯 이식성 : 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성 배포를 해보면 로컬 환경에서는 실행이 잘 되던 프로그램이 배포환경에서는 잘 안돌아가는 경험을 할때가 있다. 이러한 문제의 원인은 다음과 같을 수 있다.OS 환경 차이라이브러리 버전 차이의존성 문제이러한 문제를 도커가 아주 간편하게 해결해줄 수 있는데,  Docker는 실행 환경을 아예 패키지로 묶어서 어디서 실행해도 똑같이 동작하도록 해줌으로써 로컬 환경과 똑같은 환경에서 실행할 수 있도록 하여 ..

Deployment/Docker 2025.03.19

AWS S3 활용한 파일 및 이미지 업로드

S3란 무엇인가?S3는 AWS에서 제공하는 '클라우드 스토리지 서비스'이다. 쉽게 말하면 AWS에서 제공하는 파일 저장 서비스이다. S3의 사용 용도이미지나 동영상 저장 및 제공정적 웹사이트 호스팅CDN(CloudFront)과 연계해 빠른 콘텐츠 제공백업 및 복원용 스토리지백엔드 서버를 개발하다 보면 이미지나 동영상 업로드 기능을 구현해야 할때가 있다. 이때 사용자가 업로드 한 이미지를 S3에 저장하여 편리하게 사용 가능하다. 현업에서도 파일 업로드 기능을 구현할때 AWS S3를 많이 활용한다고 해서 공부하게 되었다.  그렇다면 어떠한 과정을 통해 S3를 활용할 수 있을까?  사용자가 API를 통해 이미지나 동영상 업로드 요청S3에 파일이 업로드S3에서 파일이 저장된 URL을 리턴DB에 파일 URL을 저..

Deployment/AWS 2025.03.18

EC2를 활용한 SpringBoot 프로젝트 배포[2]

https://developerwoohyeon.tistory.com/218 EC2를 활용한 SpringBoot 프로젝트 배포[1]프로젝트를 배포할때 흔히 사용하는게 바로 AWS의 EC2이다. 그렇다면 EC2는 무엇일까? 만약 내 컴퓨터로 서버를 배포하여 모든 사람들이 사용할 수 있도록 하려면 내 컴퓨터를 24시간 동안 켜놔야developerwoohyeon.tistory.com     이제 EC2 인스턴스와 연결하여 SpringBoot 프로젝트를 배포해보자.    우측 상단의 연결 버튼을 누르면 Ubuntu 환경의 터미널이 화면에 나온다.  Ubuntu 환경에서 JDK 설치 $ sudo apt update && /sudo apt install openjdk-17-jdk -y JDK를 설치할때 꼭 자신의 깃..

Deployment/AWS 2025.03.05

EC2를 활용한 SpringBoot 프로젝트 배포[1]

프로젝트를 배포할때 흔히 사용하는게 바로 AWS의 EC2이다. 그렇다면 EC2는 무엇일까? 만약 내 컴퓨터로 서버를 배포하여 모든 사람들이 사용할 수 있도록 하려면 내 컴퓨터를 24시간 동안 켜놔야 할것이다.또한 인터넷을 통해 내 컴퓨터에 접근할 수 있게 해야하므로 보안적으로도 문제가 될수있다. 하지만 이러한 단점을 AWS EC2를 이용하여 극복할 수 있다.  🎯 EC2는 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다. 즉 EC2를 사용한다는 것은 하나의 컴퓨터를 빌려 사용한다는 것과 같고, EC2를 이용해 배포를 한다는 것은 빌린 컴퓨터를 이용해 서버를 배포한다는 것과 같다! 이렇게 되면 내 컴퓨터를 24시간 켜놔야 할일도 없고,  AWS  EC2에서 제공하는 여러 부가기능(로깅,오토케일링,로드..

Deployment/AWS 2025.03.05