docker 12

TS | Docker Container에서 local의 Redis와 연결이 안될때

본 글은 사이드 프로젝트를 진행하다 Docker에 관해 학습한 내용을 정리하기 위한 내용입니다. 피드백은 언제나 적극 환영합니다. 🤩 상황 EC2안에서 Docker container로 프로젝트 WAS파일을 정상적으로 실행하였는데, OAuth 요청 시 RedisConnectionException 에러가 발생하였다. 1차 추측 바라보고 있는 application-deploy.yml 파일의 Redis Host 설정이 잘못되어서 찾지 못하는 거 같아서, Redis Host를 다시 설정해주기로 하였다. 1차시도 아래와 같이 deploy.yml 파일의 Redis Host 값을 수정해봤는데도, 계속 똑같은 에러가 발생하였다. 1. ${REDIS_HOST} = localhost 2. ${REDIS_HOST} = 127..

Project/CaleFIT 2022.11.15

Linux | 네임스페이스란?(가볍게)

본 글은 Docker Container의 프로세스 격리 방식에 공부하다 알게된 네임스페이스에 대해 간략하게 알아보기 위한 글입니다. 피드백은 언제든지 환영입니다. 🤩 네임스페이스가 뭐예요? 네임스페이스는 동일한 시스템에서 별개의 독립된 공간을 각각 격리된 환경에서 운영할 수 있게 돕는 가상화 기술입니다. 즉, 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행될 수 있도록 도와주는 것이죠. 하이퍼바이저도 격리된 환경으로 가상화하는 걸로 아는데 무슨 차이가 있나요? 하이퍼바이저는 하드웨어를 기반으로 하드웨어를 물리적으로 구분하여 가상화를 하지만, 네임스페이스는 동일한 OS 및 커널을 깔고 그 위에서 작동되기 때문에 기반이 다릅니다. Docker에서도 적용된다고 했는데 확인해보고 싶어요 jenkins se..

Dev/CS 2022.11.06

Docker | 비슷해보이지만 다른 기본적인 명령어들

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 Docker create / start / run / stop 명령어들의 컨테이너 생명주기 Docker에서 컨테이너와 관련된 create / run / start 명령어의 차이가 뭐예요? $ docker create는 새로운 컨테이너를 이미지로부터 생성하는 명령어입니다. $ docker start는 기존에 중지되어있던 컨테이너를 실행 시키는 명령어입니다. $ docker run은 새로운 컨테이너를 이미지로부터 생성하고, 실행시키시면서 컨테이너 내부로 들어가는 명령어입니다. Docker에서 컨테이너 중지와 연관된 stop / kill 명령어의..

Dev/Infra | Cloud 2022.11.06

Docker | Image에 대해 알아보기

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 모든 이미지의 저작권은 따라 하며 배우는 도커와 CI환경 강의에 있습니다. Docker Image에 대한 기본 개념은 알겠는데, 내부 구조가 궁금해요 Image는 응용 프로그램을 실행하는데 필요한 명령어와 파일 스냅숏으로 구성되어 있습니다. Image로 Container가 실행되는 순서도 궁금해요(임시 컨테이너 내용 추가하기) docker run {image} 명령어를 실행하게 되면 Image에 있는 파일 스냅숏의 내용이 Contatiner의 하드디스크에 옮겨집니다. Image 내부에 있는 명령어(컨테이너가 실행될 때 사용될 명령어)를 이용..

Dev/Infra | Cloud 2022.10.30

Docker | 기본 개념 정리

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 Docker가 뭐예요? Container를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계입니다. 그럼, Docker를 왜 쓰는 거예요? 어떠한 프로그램을 다운로드하는 과정을 아주 쉽고 간단하게 만들기 위해서 쓰는 겁니다. 오~ 근데 Image는 뭐고 Container는 뭐예요? Image는 DockerFile로 build 할 수 있으며 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용프로그램을 실행하는데 필요한 모든 것을 포함하는 소프트..

Dev/Infra | Cloud 2022.10.30

Jenkins | CI/CD Pipeline 구축 - 07. SSH + Docker(in VM) 환경세팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) 스크립트 설정 jenkins에서 아래와 같은 스크립트가 실행될 수 있게 설정하여야 한다. war파일을 SSH를 이용해서 서버 2에 복사 서버 2에서 Dockerfile과 war파일을 합쳐서 Docker Image를 빌드 Docker Image로 컨테이너 생성 그전에 타 서버(VM)에 복사해주기 위해 jenkins에 SSH플러그인을 설치해준다. ~ > docker run --privileged --name docker-server -itd -p 10022:..

Dev/Infra | Cloud 2022.09.28

Jenkins | CI/CD Pipeline 구축 - 06. PollSCM(지속적인 파일 업데이트)

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Poll SCM 설정 (Poll SCM : commit이 된(업데이트된) 내용이 있을 때마다 빌드하는 것) 빌드 유발 항목에서 Poll SCM을 택하고 * * * * *(매초) 빌드한다는 설정을 해준다. 현재는 코드를 수정(커밋) 하기 전 상태이다. Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE 소스코드를 수정하고 커밋해봤는데 위와 같은 에러 메시지와..

Dev/Infra | Cloud 2022.09.28

Jenkins | CI/CD Pipeline 구축 - 05. Tomcat Plugin 세팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Tomcat Plugin 세팅 및 Item 생성 플러그인 관리 → 설치 가능 항목에서 Deploy to container를 검색하여 설치해준다. 설치가 완료되었다면, Maven Project 템플릿으로 신규 프로젝트(아이템)를 생성해준다. 세 번째 프로젝트는 두 번째 프로젝트의 연장선이므로 세팅을 Copy 할 수 있다. 톰캣 웹서버에 복사를 해당 workspace 내에서 확장자가 war파일로 되어 있는 걸로 하겠다. 를 명시하기 위해 위와 같이 세팅한다...

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 04. Git에서 코드 가져와서 빌드하기

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) 신규 Item 생성 Maven project 템플릿으로 프로젝트를 만든다. 소스 코드 관리 탭에서 git을 선택해주고, maven 소스 코드가 들어가 있는 github repository 주소를 입력해준다. Pres Steps 탭에서 Goals and options 항목에 clean(빌드된 내용을 지우고) compile(새롭게 컴파일을 하고) package(패키징한다.)을 입력해준다. 위까지 완료되었다면 Apply → Save를 진행 저장 후 지금 빌드를..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 03. Git, Maven Plugin 셋팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Git Plugin 세팅 github 플러그인이 설치되어 있는지 확인해본다. ~ > docker exec -it jenkins-server bash 19:01:18 jenkins@3bec5363e25f:/$ git --version git version 2.30.2 git --version 으로 jenkins 컨테이너 환경에 설치되어 있는지 확인이 가능하다. 위와 같이 세팅 후 Apply → Save 하면 사용하려는 jenkins에 git pulgin 확..

Dev/Infra | Cloud 2022.09.27