일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바공부
- 카프카
- querydsl
- 알고리즘공부
- JPA
- 기술면접공부
- nestjs
- Kafka
- nestjs스터디
- JPA공부
- 기술공부
- 스프링부트공부
- 자료구조공부
- DDD
- 플러터 개발
- 스프링부트
- 코테준비
- 스프링공부
- nestjs공부
- K8S
- JPA예제
- 스프링
- Axon framework
- 코테공부
- JPA 공부
- 플러터 공부
- JPA스터디
- 스프링 공부
- Flutter
- 프로그래머스
- Today
- Total
목록Infra/[K8S & Docker] (37)
DevBoi
Docker 설치sudo apt update -ysudo apt-get install ca-certificates curl gnupg lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"apt-get updatesudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.iodocker -vsudo service do..
EC2를 사용하다가 용량 초과로 인해 서버가 움직이질않는다.도커가 동작할떄 기본적으로 로그를 작성하는데, 이 로그가 꽉차서 작성할수없자, 무한 대기 + 재시작 상태가 되는것이다. 아래와 같은 방법으로 조치 및 최적화를 진행해보자 1. 용량 확인 1-1.어디에서 많은용량을 사용하고있는지를 알아내자 df 로 간단하게 현재 용량이 100%라는 것을 확인 한다. 1-2. 어디 경로에서 많은 비중을 차지할까?df -h해당 어떤 디렉토리에서 사용 차지하는지 알수 있다. 나는 overlay2 하위 도커 디렉토리에서 거의 다썼다. 1-3. 어떤 파일 때매 그럴까?해당 경로로 우선 이동하고 현재 디렉토리에서 가장 많은 비중을 차지하는 상위 5개의 리스트만 보기du -hs * | sort -rh | head -5 이도..
개인 운영중인 Docker swarm에서 아래와 같은 메시지로 인해 신규 이미지를 pull할수 없었다. Error response from daemon: write /var/lib/docker/image/overlay2/.tmp-repositories.json2291754845: no space left on device 1) 리눅스 내 용량 비율 확인 ubuntu@ip-172-31-41-56:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 7.6G 0 100% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 21M 170M 11% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/..
도커 이미지 관련 다중 삭제를 할때 사용하는 커맨드가 있는데 다른사람들은 어떻게 삭제하나 궁금했다. 간단한 로깅 스크립트를 awk 관련되서 사용했었는데 해당 방식으로 삭제하려는 사람들도 있었다. 무튼 나는 아래와 같은 커맨드로 다중 삭제한다. docker rmi --force `docker images | awk '$1 ~ /boiler-core/ {print $3}'` docekr rmi --force까지는 뭐 당연한데 그 뒤로 어떤건지 남겨놓겠다 awk은 grep과 상상히 유사하다 하지만 다른 점이 있는데 awk에서는 action, pattern이 있다. # pattern 생략. $ awk '{ print }' ./file.txt # file.txt의 모든 레코드 출력. # action 생략. $ a..
우선 Next.js 에 대한 프로젝트 빌드를 해보기 위해서는 node와 별개로 아래의 모듈이 필요하다 "create-next-app" npm을 사용해서 설치할 수 있다. 우선 노드에 대한 설치가 정상적으로 되었는지 확인한다. node -v 추가로 next.js 를 사용하기 위해서는 앱을 만들어 주거나 해당 next app을 구동시키기 위한 모듈을 설치해야한다. symbolic link 권한 문제로 인해, sudo 로 설치를 해주는 것이 좋다 sudo npm install -g create-next-app 설치가 정상적으로 되었는지 확인한다. create-next-app --version 우선 이렇게 하면 nextjs 를 빌드해서 로컬에서 실행해볼 수 있다. next.js nest.js 들은 각각 환경별로..
간헐적으로 초기화가 발생한다. 정확히는 디비 정보가 유실된다. 그래서 무조건, 볼륨 마운트를 진행해야한다. 혹시라도 다시 온되더라도 정보를 그대로 끌고갈수 있게 그래서 하위와 같이 스크립트 파일을 쓰다가 version: "3.2" services: database: container_name: database image: mariadb volumes: - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql - ~/docker/mariadb/var/log/maria:/var/log/maria environment: - MYSQL_DATABASE=db1 - MYSQL_ROOT_..
한개의 프로젝트를 진행하고 있지도 않고, 여러개의 프로젝트에 배포를 조금씩 해야한다. 원래는 CI/CD를 젠킨스나 툴을 이용해서 구축하는게 맞지만 1개에 여러번이 아닌, 10개의 3번씩 배포를 해야하는 샹황이라, 아래와 같이 배포를 하려고한다. 1. Docker image build 및 Docker hub push 2. docker-compose file ec2 upload 또는 vi로 이미지 버전 수정 3. ec2에서 docker image pull 및 빌드 1) Ec2 도커환경 구성 https://devboi.tistory.com/543 [AWS] EC2에 Docker 설정 1. 패키지 업데이트 > sudo apt update -y 2.Docker 설치 > sudo apt install docker ..
뭐 별건없다. 배포할때는 서비스에 대한 구성을 따로 올리지만, 그게 아닐때 로컬에서 개발할때는 마리아 디비를 도커에서 구성해서 올리는데 자꾸 설정에 대한 오류, 버퍼에 대한 오류가 나서 짜증나서 로컬용 docker-compose 파일을 만든다 (디비만, 필요시 카프카나 추가예정) version: "3.2" services: database: container_name: database image: mariadb volumes: - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql - ~/docker/mariadb/var/log/maria:/var/log/maria envi..
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를 하게 되면 도커에 연결된 레지스트리의 정보를 알 수..