반응형

docker 7

쿠버네티스와 도커, 관계 정리

쿠버네티스와 도커 쿠버네티스는 컨테이너를 오케스트레이션 하는 도구이고 도커는 컨테이너를 다루는 도구이다 컨테이너 - 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술 컨테이너 런타임 - 컨테이너를 쉽게 내려받거나 공유하고, 구동할 수 있도록 해주는 도구 도커 - 컨테이너를 다루는 도구 중 가장 유명한 것 쿠버네티스 - 컨테이너 런타임을 통해 컨테이너를 오케스트레이션하는 도구 오케스트레이션 - 여러 서버에 걸친 컨테이너 및 사용하는 환경 설정을 하는 행위  컨테이너를 사용하는 이유 PC 에 프로그램을 설치할 때 특정 경로에 맞춰 설치하거나, 필요한 옵션을 하나씩 맞추는 등의 과정을 없애고 이러한 환경까지 모두 포함하여 독립적으로 프로그램을 실행할 수 있도록 도와준다 컨테이너 환경을 묶어서 배..

TIL/DOCKER 2025.02.03

[DB] MySQL 에 정보 저장하고 검색하기

프로젝트를 진행하면서, 로그인한 JWT 를 가져와서 해독하고, 그 정보를 기반으로 유저를 파싱하려고 한다 MySQL 사용하는 법이 헷갈려서 정리해둔다 MySQL 설치는 여기에 정리해놨고 https://helloahram.tistory.com/172Docker Image Build 도 여기에 정리했다 https://helloahram.tistory.com/197 기존에 공부하면서 사용했던 MySQL Database 를 싹 다 지우고 진행할 예정이다 나는 Docker 에 MySQL 을 설치해놨다, 그래서 docker ps 로 이름을 먼저 찾아준다 ahram@AhramuicBookPro  ~  docker psCONTAINER ID IMAGE COMMAND ..

[Docker] Docker Image Build

MySQL 를 다시 만들려고 보니까, Docker 도 마음에 안 들어서Docker Image 를 다시 Build 하게 되었다  우선 내가 Docker Image 를 Build 폴더로 이동 or 생성하고, Dockerfile 을 만든다 mkdir mysql-dockercd mysql-docker Dockerfile 에 환경 변수를 설정해준다 vi Dockerfile # MySQL 공식 이미지 사용FROM mysql:8.0# 환경 변수 설정ENV MYSQL_ROOT_PASSWORD=[Root_PW]ENV MYSQL_DATABASE=ahramDBENV MYSQL_USER=ahramENV MYSQL_PASSWORD=[User_PW]# 포트 노출EXPOSE 3306# 기본 실행 명령CMD ["mysqld"] Im..

TIL/DOCKER 2025.01.04

Docker Exited (0) 되는 문제 수정하기

Jenkins 를 이용하여 Docker 에 Build 하기에 이어서,https://helloahram.tistory.com/186  CI/CD via Jenkins + Docker #2Jenkins 설정 Jenkins 를 설치하고 Git Repo 까지 연결했으니 (#1 참고) 이제 설정할 차례 -각오는 했지만 생각보다 설정할 내용들이 많았고 제법 어렵기도 했다 Jenkins 배포 전략 세우기방안1) 빌드 서helloahram.tistory.com Docker 에 Image 가 올라가는 것까지만 봤는데, 다시 확인해 보니 실행하자마자 종료되고 있었다 Exited (0) X minutes ago 그래서 Pipeline 을 다시 손 봤다 일단 Directory 생성하는 Stage 는 필요 없어 보여서 삭제하고..

TIL/DOCKER 2024.12.24

CI/CD via Jenkins #2

Jenkins 설정 Jenkins 를 설치하고 Git Repo 까지 연결했으니 (#1 참고) 이제 설정할 차례 -각오는 했지만 생각보다 설정할 내용들이 많았고 제법 어렵기도 했다 Jenkins 배포 전략 세우기방안1) 빌드 서버 따로, 배포 서버 따로 진행 방안2) 빌드와 배포를 하나의 서버에서 진행 두 개의 방안 중에 방안1 은 빌드 서버에서 각 배포 서버로 접근하는 통합 파이프라인 작성이 복잡해서조금 귀찮지만 하나의 서버에서 진행하는 2번 방안을 택했다  그리고 빌드, 배포 및 실행할 Instance 를 t2.medium 으로 하나 만들어 줬다 Jenkins Domain Settings (Optional)가비아 도메인이 Jenkins 에 연결되지 않아서, 일단 AWS EC2 URL 을 넣어 줬다 Sw..

TIL/DOCKER 2024.12.23

Solid Principle

Solid Principle  객체지향 프로그래밍 및 설계의 기본 원칙 1. SRP, Single Responsibility Principle 단일 책임 원칙 클래스 (객체) 는 단 하나의 책임만 가져야 한다 클래스는 소프트웨어 시스템 내에서 단 하나의 작업 또는 목적만 가져야 한다 프로그램의 유지보수성을 높이기 위한 설계 기법 책임의 범위는 개발자마다 기준이 다르기 때문에 100% 해답은 없다 2. OCP, Open/ Closed Principle 개방/ 폐쇄 원칙 소프트웨어 엔터티 (클래스, 모듈, 함수 등) 는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다 클래스 동작을 수정하지 않고도 확장할 수 있어야 한다 3. LSP, LIskov Substitution Principle 리스코프 치환..

TIL 2024.12.20

[Docker] docker-container 로 MySQL 접속하기

Docker어플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼환경에 구애받지 않고 어플리케이션을 신속하게 배포 및 확장할 수 있다 1. 캡슐화 2. 특권/ 비특권 컨테이너 - 비특권 컨테이너는 호스트 시스템의 민감한 자원에 대한 접근이 제한된다, 보안 상으로는 안전하지만 시스템 제어가 불가하다 - 특권 컨테이너는 Host 시스템의 리소스를 더 많이 제어할 수 있는 권한을 가지고 있다Docker Container 어플리케이션을 독립된 환경에서 실행할 수 있는 환경 Docker-Compose여러 개의 컨테이너를 관리하고 설정하는 도구  컨테이너는 캡슐화되어 어플리케이션을 실행하는 독립된 환경이고, 컨테이너들을 Docker-Compose 에 담아 관리한다 컨테이너는 화물 상자, Dock..

TIL/DOCKER 2024.12.07
반응형