Linux

A collection of 15 posts
Docker

[Docker] iptables vX.X.X (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Docker... 또 너야? 리눅스를 업데이트 하고 재부팅한 어느 날, 갑자기 도커의 컨테이너와 연결이 되지 않는 문제가 발생했다. 알고보니, 모종의 이유로 컨테이너가 자꾸만 다운되고 있었던 것이다. 컨테이너 로그를 살펴보니 다음과 같은 로그가 도배되고 있었다... iptables v1.8.3 (legacy): can't initialize iptables table `nat': Table does not exist
3 min read
Docker

[Docker] Portainer 설치하기

☝️Portainer를 설치하려면 반드시 Docker가 설치되어 있어야 한다. 다만 이 글에서는 Docker 설치 방법에 대해서는 다루지 않는다. Docker 설치가 필요하다면, 다음의 글을 보고 설치하기 바란다. [Linux] Docker 간편하게 설치하기 (retrotv.dev) Portainer란? Portainer란 Docker를 웹으로 관리할 수 있도록 하는 UI 도구다. 현재 실행되고 있는 Docker의 컨테이너, 이미지, 볼륨, 네트워크 등을 웹으로
2 min read
Docker

[Linux] Docker 간편하게 설치하기

Docker는 원래 운영체제, CPU 아키텍처(X86, ARM 등...) 별로 설치하는 방법이 조금씩 상이하다. 그래서 공식 홈페이지에서는 운영체제, CPU 아키텍처 별로 설치하는 방법을 설명해주고 있다. 하지만 본인들도 이게 귀찮은 것을 아는 것인지 자동으로 운영체제와 CPU 아키텍처를 감지해서 설치해 주는 설치 스크립트를 배포하고 있다. 아래의 명령어는 대부분의 운영체제에서 Docker를 간편하게 설치할 수
1 min read
Linux

쉘 스크립트 root 권한으로만 실행되게 하기

리눅스를 관리하다 보면 작업의 자동화를 위해 쉘 스크립트를 쓰는 경우가 아주 많다. 그런데 간혹가다 root 권한으로 쉘 스크립트를 실행할 필요가 있는 경우가 생길 수 있다. 일반적으로 root 권한을 요구하는 쉘 스크립트를 일반 계정으로 실행 할 경우 진행하다 권한 문제로 알아서 막히게 된다. 하지만 이런 식으로 예외처리에 기대는것 보다는, 스크립트 진입점에서
1 min read
Linux

sudo 명령어 패스워드 없이 사용하기

💡sudo 명령어 사용 시, 패스워드를 요구하지 않도록 하는 것은 보안상 권장되지 않는다. 따라서 key를 이용한 ssh 접속이 가능한 환경 및 물리적인 서버에 혼자 접근이 가능한 환경 등, 기본적인 보안이 보장되는 경우에만 적용하도록 하자. 리눅스 운영체제는 대부분 sudo 명령어를 사용할 때, 일정 시간마다 해당 사용자의 패스워드를 요구한다. "이미 패스워드를 입력하고
4 min read
Raspberry Pi

라즈베리 파이 SSH 모니터/키보드 없이 활성화 하기

더 이상 ssh 파일을 추가하는 방법이 안 먹힌다! 언제부터 인지는 잘 모르겠지만, 몇몇 국가에서 보안을 위해 운영체제에 기본 계정 생성을 금지하는 법안을 도입했다고 한다. 라즈베리 파이에서도 이런 트랜드를 반영하여 2022년 초에 배포된 Raspberry Pi OS (Bullseye)부터는 기본 계정이 생성되지 않도록 바뀌었다고 한다. 즉, 기존에 Raspberry Pi OS를 올린 sd
4 min read
Podman

Podman의 개념과 설치방법

Podman 이란? Podman(Pod manager tool)은 리눅스 시스템에서 컨테이너를 개발, 관리, 실행하기 위한 오픈소스 툴이다. 기존의 Docker와 같은 컨테이너 엔진이지만, Docker와는 몇가지 다른 점이 존재한다. 대표적으로는 아래와 같이 2가지 차이점을 들 수 있다. daemonless Docker는 Docker daemon을 통해 Docker client의 모든 명령어를 처리하게 된다. 이러한 방식은 작업을 처리할 때
6 min read
Jenkins

Jenkins로 Spring Boot 2 + Vue 3 프로젝트를 리눅스 서버에 배포하기 (3)

새로운 빌드 Item 생성하기 Jenkins 메인 화면 좌측에 새로운 Item 이라는 버튼을 클릭하자. Item을 식별할 이름을 지정 해준 뒤, Freestyle project를 선택하고 OK 버튼을 클릭한다. 나는 Book Management App 이라는 이름으로 지정해 주었다. 가장 위, 설명에 이 Item이 어떤 것인지 알려주는 문구를 적어주자. (EX. 이 Item은 나의 프로젝트를 빌드하는 Item
10 min read
Jenkins

Jenkins로 Spring Boot 2 + Vue 3 프로젝트를 리눅스 서버에 배포하기 (2)

Jenkins로 프로젝트 자동 배포하기 지난 글에서는 나의 프로젝트를 배포할 서버를 세팅하는 과정에 대해 다루었다. 이번 글에서는 Jenkins를 통해 Spring Boot 2 + Vue 3 프로젝트를 자동 배포하는 방법에 대해 다루도록 하겠다. Jenkins를 사용할 것이기 때문에, 당연히 Jenkins가 배포되어 있는 서버가 필요하다. 만약 Jenkins 서버가 없다면 아래의 글을 참조해 하나 만들도록 하자.
7 min read
AWS

AWS Lightsail 인스턴스 생성하고 PuTTY로 접속하기

AWS Lightsail 인스턴스 생성하기 AWS Lightsail의 특징 원래 AWS 하면 가장 먼저 떠올리는 서비스는 EC2일 것이다. EC2 서비스의 특징은 사용한 시간에 따라 과금이 된다는 점이다. 따라서 EC2 인스턴스는 24/7(항상 가동되는) 서비스를 사용하는 데에 부적합하다. (그리고 뭣보다 EC2 인스턴스를 계속 켜두면 지갑이 위험해질 것이다...) 이 점을 아마존도 알고 있어서,
12 min read
Docker

리눅스에서 sudo 없이 도커 사용하기

sudo 쓰기 귀찮은데... Windows나 MacOS에서는 Docker(이하 도커)를 설치할 때, 일반 계정 권한으로 설치하게 된다. 그렇기 때문에 도커를 사용할 때, 관리자 권한으로 도커를 실행할 필요가 없다. 그러나 Linux 에서는 root 권한으로 도커를 설치하기 때문에 root 외의 사용자가 docker 명령어를 사용하면 권한 오류가 발생한다. 이 때문에 도커를 실행하고 docker 명령어를
2 min read
Jenkins

Jenkins로 Spring Boot 2 + Vue 3 프로젝트를 리눅스 서버에 배포하기 (1)

시작하기에 앞서... 이 글은 내가 만든 도서 관리 앱을 AWS Lightsail에 Jenkins로 자동 배포하는 과정을 정리한 글임을 먼저 밝힌다. 이 글을 정독하기 전에, 먼저 아래의 글을 읽고 AWS Lightsail 인스턴스를 생성하고 PuTTY 사용법에 대해서 알아보는 것을 권장한다. 만약 본인이 이미 VPS를 통해 인스턴스를 생성하고 PuTTY로 원격 접속하는 방법에 대해 알고
11 min read
Docker

Docker로 Jenkins 서버 구축하기

준비사항 * Docker가 설치되고 사용할 수 있는 환경 이 글의 내용은 Linux/MacOS/Windows 운영체제에서 적용이 가능 하지만, 각 운영체제 별로 적용 방법이 조금씩 상이할 수 있다. 여기서는 기본적으로 MacOS를 기반으로 작성했음을 알린다. 운영체제 별로 몇 가지 차이점에 대해 미리 설명하자면 다음과 같다. 사전설명 * Linux의 경우 sudo 권한을 이용해 Docker를 설치하기
9 min read