본문 바로가기

DevOps

(45)
[Docker 실습] Docker Compose로 백엔드(Spring boot) 실행시키기 Docker Compose로 Spring boot 실행시키기1. 스프링부트 프로젝트 생성하기. 이전에 생성한 프로젝트로 실습해도 된다.  2. Dockerfile 작성FROM openjdk:17-jdkCOPY build/libs/*SNAPSHOT.jar app.jarENTRYPOINT ["java", "-jar", "/app.jar"] 3. build./gradlew clean build 4. compose.yml 파일 생성services: my-server: build: . ports: - 8080:8080 build: .  => 도커 파일을 기반으로 빌드한 이미지를 쓰겠다는 의미   : 뒤에는 도커파일이 위치한 경로를 써준다. compose.yml을 기준으로 상대로 경로를 적어주..
[Docker 실습] Docker Compose로 MySQL 실행시키기 Docker Compose로 MySQL 실행시키기* docker run -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 -v /Users/seeun/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql 1. compose.yml 작성위의 명령어와 비교해보자. services: my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 1q2w3e4r volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306=> 환경변수 설정하는 부분 주의해서 보자 2. 터미널에서 실행 docker co..
[Docker 실습] Docker Compose로 Redis 실행시키기 Docker Compose로 Redis 실행시키기* docker run -d -p 6379:6379 redis 도커 컴포즈를 사용하지 않았을 때 명령어 1. compose.yml  작성services: my-cache-server: image: redis ports: - 6379:6379 2. 터미널에서 실행docker compose up -d 3. 확인docker compose psdocker compose logs  4. 컨테이너에 접속해보자. docker exec -it 85c bash레디스 명령어를 입력해보면 정상적으로 동작하는 것을 확인할 수 있다.  5. 컴포즈로 실행시킨 컨테이너 삭제docker compose down  * Inflearn(인프런) ‘비전공자도 이해할 ..
[Docker 기본] 자주 사용하는 Docker Compose CLI 명령어 자주 사용하는 Docker Compose CLI 명령어docker compose up compose.yml 에서 정의한 파일을 기반으로 컨테이너를 포그라운드에서 실행 docker compose up -d compose.yml 에서 정의한 파일을 기반으로 컨테이너를 백그라운드에서 실행 docker compose ps compose.yml에서 정의한 컨테이너 중 실행중인 컨테이너 조회 docker compose ps -a compose.yml에서 정의한 컨테이너 모두 조회 docker compose logs compose에서 정의된 컨테이너에서 발생한 로그 조회 docker compose up --build이미지를 다시 빌드해서 컨테이너를 실행 docker compose pull도커허브에 올라간 컴포즈에 정..
[Docker 실습] Docker Compose를 이용해 Nginx 설치 및 실행시키기 Nginx 실행1. 폴더를 만들고 파일 생성한다. 이 때 파일명은 compose.yml로 한다. yml 파일은 들여쓰기로 계층을 판단하므로 주의하자. services: my-web-server: container_name: web-server image: nginx ports: - 80:80   1) services:    여러 개의 서비스를 적기 전에 처음에 적는 명령어   2) my-web-server:    서비스의 이름. 원하는대로 지으면 된다.    3) container_name : '컨테이너 이름'   4) image:    어떤 이미지를 기반으로 컨테이너를 띄울건 지   5) ports    포트매핑 docker run -name web-server -d -p 8..
[Docker 기본] Docker Compose를 활용해 컨테이너 관리하기 Docker Compose를 사용하는 이유Docker Compose란?여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성해서 하나의 묶음으로 관리할 수 있게 도와주는 툴지금까지는 컨테이너를 하나씩 띄우는 연습을 했다. 실제 사용할 때는 여러 개의 컨테이너를 띄우는 경우가 많다.   Docker Compose를 사용하는 이유1. 여러 개의 컨테이너를 관리하는 데 용이 여러 컨테이너를 하나의 환경에서 실행하고 관리하는 데 도움이 된다.  2. 복잡한 명령어로 실행시키던 것을 간소화 시킬 수 있음   * Inflearn(인프런) ‘비전공자도 이해할 수 있는 Docker 입문/실전’ 강의 참고
[Docker 실습] 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기1. 폴더 생성 후 vscode에서 오픈mkdir webpage 2. css, html 파일 생성파일은 간단하게 만들자. index.html My Web Page style.css* { color: blue;} 3. Dockerfile 생성 html, css 파일을 배포하고 운영하게끔 해주는 서버의 역할을 하는 프로그램은 nginx를 사용해보자.FROM nginxCOPY ./ /usr/share/nginx/html=> 컨테이너 디렉터리 경로는 도커허브 nginx에서 확인한 것 4. 빌드docker build -t my-web-server . 5. 실행 docker run -d -p 80:80 nginxnginx는 8..
[Docker 실습] 웹 프론트엔드 프로젝트(Next.js)를 Docker로 배포하기 Next.js 프로젝트 Docker로 배포하기1. next 프로젝트 생성npx create-next-app@latest  확인 2. 편집기로 열어서 실행해보기npm run dev 3. next.js의 포트번호는 3000 이다. 브라우저를 열어서 확인해보자.  4. Dockerfile 생성 base 이미지는 node로 한다. 이미지들 중 alpine이라는 태그명이 많다. 실제 이미지를 최적화 해서 이미지 용량을 줄인 것이다.  node 20버전의 alpine 이미지를 사용해보자.  FROM node:alpineWORKDIR /appCOPY . .RUN npm installRUN npm run buildEXPOSE 3000ENTRYPOINT [ "npm", "run", "start" ]  5. dockeri..