[Ubuntu] '/swapfile': Text file busy
·
개발 ━━━━━/Troubleshoot
문제electron 앱을 빌드하기 위해 virtualbox 에 ubuntu 를 올려서 빌드를 하는데 시간이 너~무 오래걸려서 다른 작업을 할건 없고 swapfile 을 좀 만져보고자 했다. sudo dd if=/dev/zero of=/swapfile bs=128M count=32냅다 생성하려니 뜨는 오류 찾아보니 이미 swapfile 이 존재해서 발생하는 오류였다. 현재 사용하고 있는 swap 파티션을 확인해보았다.sudo swapon --show이미 1기가가 할당이 되어있다. 해결나는 swapfile 의 용량을 늘릴 목적이기 때문에 1. 기존 swapfile 해제sudo swapoff -v /swapfile한 1분 정도 시간이 걸렸다. 2. swapfile 삭제sudo rm /swapfile 3. sw..
[Electron] APPIMAGE env is not defined, current application is not an AppImage
·
개발 ━━━━━/Troubleshoot
문제 Linux 환경에서 앱을 빌드하고 electron-updater (autoUpdater) 의 checkForUpdatesAndNotify() 함수가 작동되면위처럼 APPIMAGE 가 정의되지 않았다 뜨고 업데이트 확인 기능이 실행되지 않는다. Windows 환경에서는 문제가 없고Linux 에서는 APPIMAGE 환경변수가 따로 필요한 것 같다. 해결app.js 에const os = require('os');const path = require('path');const platform = os.platform();if(platform == 'linux'){ process.env.APPIMAGE = path.join(__dirname, 'dist', `*-${app.getVersion()}.AppIm..
[MySQL] Invalid MySQL server downgrade: Cannot downgrade from 80300 to 80200. Downgrade is only permitted between patch releases
·
개발 ━━━━━/Troubleshoot
문제 기존 MySQL 데이터를 복원하는 과정에서 컨테이너가 무한 재시작을 하길래 에러 로그를 확인해보았다. [ERROR] [MY-014061] [InnoDB] Invalid MySQL server downgrade: Cannot downgrade from 80300 to 80200. Downgrade is only permitted between patch releases. 데이터 복원 작업을 위해 mysql:latest 태그가 붙은 이미지를 불러와서 docker volume 에 저장 후 그 볼륨을 기존에 사용하던 MySQL 이미지에 마운트하는 방식인데 태그가 latest 이다보니 그 사이 업데이트가 되어 버전이 맞지 않는듯 했다. 해결 태그명이 latest 로 되어 있기 때문에 정확한 버전을 알 수가 ..
[Nginx] default.conf 에 환경변수 적용하기
·
개발 ━━━━━/Troubleshoot
문제 프로젝트에서 nginx 의 default.conf 파일을 아래와 같이 proxy_pass 부분에 실제 서비스 주소를 입력했었다. server { listen 80; listen [::]:80; server_name reuse.kro.kr; location /api { proxy_pass 실제 서비스 주소; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_redirect off; } } 실행은 당연히 잘 되었지만 github 으로 파일을 관리하고 싶어서 위 주소를 환경 변수로 만들고자 했다. 같은 경로에 '..
[Redis] NOAUTH Authentication required
·
개발 ━━━━━/Troubleshoot
문제 상황 Docker-Compose 로 Spring + MySQL + Redis 컨테이너를 실행시키는데 Spring 컨테이너 로그를 살펴보니 NOAUTH Authentication required 이런 오류가 뜬다. 로컬에서 Redis 를 돌릴 땐 비밀번호가 필요 없었던 것 같아 프로젝트에서 삭제를 했더니 생긴 오류인 것 같다. 해결 우선 spring 프로젝트에서 비밀번호 부분을 다시 활성화시키고 Redis 컨테이너가 띄워진 상태로 // redis 컨테이너 접속 docker exec -it redis_컨테이너_ID bash // redis-cli 접속 redis-cli // Redis 비밀번호 확인 config get requirepass // Redis 비밀번호 설정 config set require..
[Docker] Spring + MySQL + AWS EC2 + Github Actions + Docker 를 활용한 프로젝트 진행하면서 발생했던 각종 오류들
·
개발 ━━━━━/Troubleshoot
글을 시작하기 전... 결론적으로 이 글은 Spring 프로젝트를 Dockerfile 로 빌드한 후 Github Actions 로 Docker Hub 에 올리고 EC2 환경에서 각종 컨테이너들을 Docker-Compose 로 관리하는 것을 목표로 이것 저것 해보면서 발생했던 모든 문제들을 다루는 글이라 내용이 다소 난잡하고 중구난방일 수 있다. 프로젝트 환경 진행했던 프로젝트가 있는데 성공적으로 끝마치고 나니 프로젝트 때 맡은 부분을 구현하느라 미처 해보지 못했던 서버 구성을 해보고 싶었고 이것 저것 실험해보고 싶은게 생겨 개인 서버를 구축해 프로젝트를 그대로 실행시켜 보기로 했다. 구 프로젝트는 1. Github Actions 로 jar 파일을 직접 배포하여 실행 2. MySQL 은 RDS 를 구성하여..
[Raspberry Pi] /usr/local/bin/docker-compose: line 1: Not: command not found
·
개발 ━━━━━/Troubleshoot
저번에 Raspberry Pi 에 docker-compose 를 설치하려고 했지만 arm 기반인 pi 에는 설치가 쉽지 않았다. https://gukjan9.tistory.com/118 [Raspberry Pi] Docker-Compose 설치시 Building wheel for crytography (PEP 517) ... error Raspberry pi 3b+ 에 Ubuntu 를 올려서 그 위에 Docker-Compose 를 설치하는 과정에서 마주한 오류... 처음엔 EC2 에 설치하듯이 설치해봤지만 sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compos gukjan9.tistory.com 이에 대한 ..
[Ubuntu] Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: read udp 127.0.0.1:37452->127.0.0.53:53: i/o timeout
·
개발 ━━━━━/Troubleshoot
문제 상황 docker-compose up 으로 이미지를 pull 받으려는데 같은 에러가 뜨면서 pull 에 계속 실패한다. 해결 https://forums.docker.com/t/ubuntu-22-04-error-response-from-daemon-get-https-registry-1-docker-io-v2-dial-tcp-lookup-registry-1-docker-io-on-127-0-0-53-read-udp-127-0-0-1-48086-127-0-0-53-read-connection-refused/138376 Ubuntu 22.04 Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registr..