develop/server (10) 썸네일형 리스트형 [Docker] docker [명령어] not working (오류 해결) 목차개요과정문제 발견해결 완료개요팀원 분이 도커 위에 spring boot프로젝트를 하나 띄우려고 실행을 했다는데 확인해 보니 도커가 동작을 하지 않는 상황.docker ps와 같은 기본적인 명령어도 동작을 하지 않는걸 보니 docker 자체에 문제가 있는 것으로 추측.현재 컨테이너들의 동작은 모두 멈춘 상황이지만, 기존 데이터를 보존하기 위해 데이터 손상을 최소화 하면서 해결 예정.과정(1) 기존 데이터 확인가장 먼저 실행되던 기존 서비스들의 데이터의 누락이 발생하면 안되기 때문에 각 서비스 데이터들이 마운트 되어있는지 확인. docker-compose로 서비스들을 띄워놓았기 때문에 docker-compose.yml 파일에서 volumes 옵션으로 마운트 되었는지 확인 가능. (2) 과정docker를 .. [GitLab CI] React(vite) 배포 과정(삽질) 목차개요도커 이미지 다운로드 실패필요한 의존성 찾을 수 없음 에러파일 생성 오류nginx의 cache 권한 오류포트 바인딩 오류개요폐쇄망 서버에서 수동 CI로 수동 배포 하던 것을 GitLab CI를 이용해서 소스 코드 변경시 자동 CI가 되도록 작업 수행필요.gitlab과 gitlab-runner가 이미 설치되어있음을 가정함. GitLab CI를 적용하는 과정에서 발생한 오류와 이슈 정리.초기 설정 파일(참고용)//dockerfileFROM node:20 as builder# 컨테이너 내부 작업 디렉토리 설정WORKDIR /app# app dependencies# 컨테이너 내부로 package.json 파일들을 복사COPY package*.json ./# package.json 및 package-loc.. [GitLab CI] Spring Boot 배포 과정 (삽질) 목차개요의존성 다운 오류빌드 권한 오류캐시 설정도커 푸시파일 권한 오류결과개요폐쇄망 서버에서 수동 CI로 수동 배포 하던 것을 GitLab CI를 이용해서 소스 코드 변경시 자동 CI가 되도록 작업 수행필요.gitlab과 gitlab-runner가 이미 설치되어있음을 가정함. GitLab CI를 적용하는 과정에서 발생한 오류와 이슈 정리. 초기 작성한 .gitlab-ci.yml파일 (참고용)stages: - test - build - pushvariables: COMMIT_TAG: $CI_COMMIT_TAG COMMIT_BRANCH: ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} IMAGE_TAG: $CI_COMMIT_TAG HARBOR_URL.. [npm] 폐쇄망 환경에서 배포시 의존성 문제 해결하기 목차개요npm과 yarnyarn을 사용하는 이유배포개요외부 인터넷을 사용할 수 없는 폐쇄망 환경(또는 네트워크 환경이 느린 환경)에서 빌드 또는 실행에 필요한 의존성을 받아올 수 없는 상황에서 의존성을 사용할 수 있게 하기. node.js 기반의 react 개발을 잘 모르는 상황에서 프론트 개발자에게 react프로젝트를 인수인계 받았고, 관리하고 있는 서버에 배포해야하는 상황. Docker를 이용해서 배포 하려고 하니 npm을 통해 빌드시 의존성을 찾을 수 없다는 에러가 발생함.npm과 yarnnpm과 yarn은 자바스크립트 패키지 매니저입니다.패키지는 npm에 등록된 노드 모듈로써, 다양한 자바스크립트 프로그램으로 구성되어 흔히 의존성이라고 합니다. npm은 이러한 의존성들의 다운로드, 의존성 관리, .. [ERROR] GitLab pipeline pending (Job is stuck. Check runners.) 목차이슈원인해결이슈gitlab-runner를 등록한 후 프로젝트의 소스코드를 수정해서 gitlab에 올렸는데 파이프라인의 상태가 pending에서 멈춰있음. 사용할 runner의 상태는 온라인으로 정상적으로 연결되어있는것을 확인했음. 원인문제의 원인은 등록된 runner가 너무 많아서 stage를 실행할 때 어떤 runner를 실행해야할지 몰라서 발생한 이슈. 해결각 stage를 수행할 runner를 선언해주면 된다.각 stage 블럭에 tags로 runner의 태그를 작성해주면 작업을 수행할 runner를 지정해서 정상적으로 동작함.stages: - test - build - pushvariables: COMMIT_TAG: $CI_COMMIT_TAG COMMIT_BRANCH:.. [Docker] 폐쇄망 React + Nginx 도커 이미지로 배포 목차개요nginx.conf 생성Dockerfile 생성Docker image 생성Docker Container 실행개요폐쇄망에서 react 프론트 프로젝트를 nginx와 함께 구축해서 배포 spring boot의 경우 배포할때 profiles 설정, 필요 환경변수과 함께 jar(executable jar)파일 생성 후 도커 이미지를 container로 실행만하면 웹 서버가 쉽게 구성이 됩니다.(spring boot의 장점 중 하나인 내장 tomcat) 하지만 react의 경우 node.js와 express 모듈을 이용해 웹 서버를 구성할 수있지만, 로드밸런싱, 캐싱 등의 안정적이고 효율적인 웹 서버이자 리버스 프록시 서버인 nginx를 함께 구성해주는것이 좋습니다. react를 이용한 프론트를 웹 서버인.. [GitLab] GitLab Runner 등록 목차CI/CD란?GitLab CI/CDgitlab runner란?gitlab runner 등록CI/CD란?CI (Continuous Integration)지속적인 통합이라는 뜻으로, 코드 변경을 지속적으로 빌드/테스트하는 과정 CD (Continuous Delivery /Deployment)지속적인 전달, 배포라는 뜻으로, 통합된 코드를 배포하는 과정Continuous Delivery애플리케이션이 배포되기 전까지 작업을 자동화 하고 실제 배포는 사람이 개입하여 실행Continuous DeploymentCI를 통해 신규 작성된 코드의 무결성을 검증하고 배포 작업을 진행하고 완료시 자동으로 배포까지 진행GitLab CI/CDGitLab은 소프트웨어 개발 및 협업 솔루션을 제공하는 웹 기반 DevOps 플랫폼.. [Docker] 폐쇄망에서 프로젝트 구축하기 목차개요React(dist) 프로젝트 배포하기Spring boot 프로젝트 배포하기개요외부에서 작업된 프론트(react)와 백엔드(spring boot)를 내부망 pc에 배포 작업이 필요함. 상황로컬pc에서는 외부망과 내부망(폐쇄망) pc에 둘다 접근이 가능.내부망pc에 harbor(이미지 저장소), postgresql(DB), gitlab(코드 버전 관리 및 CICD) 등의 기존 설치된 프로그램 사용.외부망과 연결되면서 리눅스 사용을 위해 VM 설치.외부에서 작업된 최종 소스코드(react, spring boot)는 로컬pc로 전달받음. 환경로컬pc : 윈도우 10내부망pc(폐쇄망) : Rocky-8.7-x86_64-minimal.isoVM : Rocky-8.7-x86_64-minimal.iso 배포 .. 이전 1 2 다음