일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래머스
- 스프링부트
- JPA공부
- 코테공부
- 플러터 개발
- nestjs스터디
- Flutter
- Axon framework
- 자료구조공부
- JPA스터디
- 기술공부
- K8S
- 스프링 공부
- JPA 공부
- nestjs
- 기술면접공부
- 코테준비
- 플러터 공부
- 알고리즘공부
- Kafka
- 스프링부트공부
- JPA예제
- 카프카
- querydsl
- nestjs공부
- DDD
- 스프링공부
- JPA
- 스프링
- 자바공부
- Today
- Total
목록Infra (68)
DevBoi
기존에는 Aws Mariadb를 별도로 구성해서 사용했는데, 이제 Ec2에서 app, mariadb 두개의 컨테이너를 띄우고 사용할 것이다. 구조는 이렇다. 로컬에서 도커파일을 빌드해서 이미지를 Docker hub로 올리고 docker-compose 파일을 수정해준다. ec2에 scp로 docker-compose 파일을 보내고(추후에는 vi로 직접 수정) 해당 docker-compose 파일로 빌드 및 컨트롤한다. 1) DockerFile FROM openjdk:17-alpine ARG JAR_FILE=/build/libs/boiler-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} /boiler.jar ENTRYPOINT ["java","-jar","-Dspring.profiles.ac..
k8s 공부할때는 뭘로 할까? 1. GKE 구글 관리하는 관리형 클러스터 따라서 클러스터 세부설정을 집적 할 수 없으므로 공부를 하는데 걸림돌 장점은 클라우드 네이티브를 어느정도 바로 사용할 수 있도록 세팅되어있다는점 2. 온프레미스(우분투) 단점은 클라우드 네이티브에 필요한 모든 구성요소를 직접 세팅해야한다. 장점은 쿠버네티스 클러스터의 모든 설정을 직접 조작할 수 있으므로, 서비스를 구성하는 다양한 기능 테스트 가능 위 두개로 대부분 공부를 한다. 뭐 장,단점은 이렇게 적을 수 있다. Minikube나 k3s도 사용가능한데, 이건 진짜 단순히 스터디용... 정확히는, K8s kubectl 연습용에 가깝다.. 나는 GKE를 사용해서 일단 대략적인 공부를 해보려고한다. * GKE란? GKE는 kubern..
1) private registry 만들기 docker run -d --name docker-registry -p 9000:9000 registry 2) private registry image tag 및 push 하기 docker tag mariadb 127.0.0.1:5000/mariadb docker push 127.0.0.1:5000/mariadb 추가로, private docker registry 에서 별도 사용자 이름/ 패스워드로 인증 정보를 설정할 수도있다. 이 방법은, 혼자서 할때 (Private regsitry를 방화벽 오픈안할때) 굳이 사용할 일이 있나 싶긴하지만, 필요하다면 구글링 해서 진행해보도록 하자 추가로 Docker info를 하게 되면 도커에 연결된 레지스트리의 정보를 알 수..
컨테이너간 파일을 복사하는 방법이 있다고한다. 잘...쓸까 싶긴한데 로컬 파일을 도커 컨테이너로 파일 복사 도커 컨테이너에서 다른 도커 컨테이너로도 가능하다. 그간 도커에 대한 푸쉬 및 풀 만했다. 하지만 이런식으로 history를 하게 되면, 해당 이미지에 대한 이력을 확인 할 수 있다. 다른 명령어는 뭐 많이 써서 알고있었지만, 의외로 몰랐던 부분에 대해서 따로 공부를 해봤다. 파일 복사, 이력은 잘 몰랐던 부분이라 따로 정리를 해봤다.
이미지 비밀레이어라는게 존재한다. 이미지는 한개를 받더라도, 레이어는 여러개를 받기 때문에 여러개의 커맨드 라인이 나오게 된다. 이미지는 여러개의 레이어로 나눠서 저장이 된다. 만약에 이미지 A에서 사용중인 레이어들이 있는데 이미지B를 다운받게 되면, 없던 D만 다운을 받게 된다. 한 이미지에 대해 여러 레이어가 있고, 같은 레이어라도 다른 레이어를 사용할 수 있고 같은 레이어를 공유할 수도있다. 그러면 레이어에 대한 확인을 해보자 도커 이미지는 docker images를 통해서, 확인 가능하다. 또한 도커 이미지에 대한 분석 확인은 이렇게 할 수 있다. docker inspect 도커 이미지 저장소 위치를 확인 해보자 docker-info를 치면 도커에 대한 상세 내용이 나온다. Docker Root ..
docker login을 하게 되면, 해당 관련되서 인증정보를 저장하고 체크하고 뭐 등등 사실, 최근에 동료에게 사설 repo 로그인 후 이미지를 풀받아야된다고 가이드 하는도중 비번을 잊어버려서, 혹시나 하고 될까? 했던 방식이 되서 기록용으로 남긴다. 대부분 .docker/config.json 파일에 docker login하면 auth 정보가 담기게된다. docker login을 하게되면 도커 데몬이 이 값을 가지고 로그인을 시도를 자동으로 해주기 때문에 한번 로그인한 repo에 대해서는 다시 정보를 넣지 않아도된다. 그래서, config.json 하위 auth내 내용을 vi편집기로 추가를 해주고 docker daemon을 재시동 해주면 해당 auth에 대한 내용을 데몬이 가지고 있게 되고, docke..
Docker image를 허브에는 많이올려봤다. 허브에 올리고 ec2에서 다시 풀 받고... 근데 AWS에서 hub같은 공간이 있다. ECR 뭐 컨테이너 레지스트리 어쩌고 저쩌고 무튼, 쉽게 얘기하면 프라이빗 이미지 저장소로 이해하면된다. 이제 localimage를 ECR에 올리는 방법에 대해 알아보자 ECR에 이미지를 올리기 위해서는 먼저 로그인을 해야한다. 도커 허브에 올릴려면 docker login 으로 허브에 접속하듯이, aws도 일정기간 보장되는 자격증명이 필요하다. aws ecr get-login-password --region ap-northeast-2 --no-verify-ssl -> 이렇게 하면 패스워드가 나온디. docker login --username AWS ecr 주소는 92313..
AWS S3는 참 사용이 간단하다. S3가서 신규 버킷을 새엉하면 되고, 퍼블릭 엑세스를 키면 된다. 다만 주의 할것은 그런다고 누구나 쓰거나 읽을수있는 것이 아니다. 가능하게 하려면 아래의 권한에 스크립트를 넣어야하는데 아래 내용을 넣어주면 된다. { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1405592139000", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::innapp/*", "arn:aws:s3:::innapp" ] } ] } 이렇게 되면, 누구나 사용이가능하게끔 가능하다. S3에 디렉토리 처럼 업로드가 가능하고, 이 업로드한 내용을 S..
저번에 docker buildx로 멀티플랫폼 이미지를 빌드했었다. 근데, 그거를 오늘 했는데 너무 오래걸렸다. 그래서 조금 방법을 바꿨다. 우선, 리눅스의 플랫폼을 보려면, docker version으로 확인해보면된다 아래와 같이 나오는 곳에서 확인해보면 된다. server: Engine: Version: 20.10.21 API version: 1.41 (minimum version 1.12) Go version: go1.18.1 Git commit: 20.10.21-0ubuntu1~22.04.3 Built: Thu Apr 27 05:37:25 2023 OS/Arch: linux/amd64 Experimental: false 멀티 플랫폼 이미지 빌드 docker build --platform linux/..
데이터베이스 생성은 생각보다 쉽다. 아래 사항만 기억하면된다. 1. 손쉬운 생성 2. 프리티어(프로덕션이나, 개발인 경우 과금 청구) 3. EC2연결 설정 (아닌경우는 무시해도됨) 3번을 체크하지않고, 직접 할수도 있긴하다. 저 작업은 VPC와 보안그룹에 대한 것만 자동생성해서, Ec2에서 디비에 대한 인바운드 규칙만 추가해주는 것이다. 실제로도 aws에서도 아래와 같이 설명해주고 있다. *이 데이터베이스의 컴퓨팅 리소스로 추가할 EC2 인스턴스를 선택합니다. VPC 보안 그룹이 이 EC2 인스턴스에 추가됩니다. VPC 보안 그룹은 EC2 인스턴스가 데이터베이스에 액세스하도록 허용하는 인바운드 규칙과 함께 데이터베이스에 추가됩니다. 일단. 체크하고 생성하고 변경된 정책에 대한 확인을 해보자 못보던 보안 ..