반응형

Linux 13

Nginx upstream timed out (110: Connection timed out) 오류 해결 방법

nginx가 API 서버의 앞단에서 리버스 프록시 역할을 하고 있을 때, API 서버로 파일을 다운로드 받을 때 다음과 같은 오류가 발생하였다. [warn] a client request body is buffered to a temporary file /var/lib/nginx/tmp/client_body/0000000567, ...[error] upstream timed out (110: Connection timed out) while reading response header from upstream, ... 우선 [warn] 로그는 클라이언트에서 요청을 보낼 때, 요청 body가 크기 제한을 초과해서 Nginx가 이를 임시 파일(/var/lib/nginx/tmp/client_body)에 저장했다..

도커(docker) 기본 명령어, 사용 예시

이번 장에서는 도커의 기본 명령어에 대해 설명하려고 한다. 해당 게시글을 읽고 나면 어디가서 도커를 조금 쓸 수 있다고 말할 수 있을 것이다. 도커 기본 명렁어 1. docker run [옵션] {이미지 이름} container(격리 환경 프로세스) 실행 2. docker commit [컨테이너 이름] [원하는 이미지 이름:태그] 실행 중인 container의 상태를 이미지로 저장 3. docker images docker 이미지 목록 확인 docker commit으로 생성한 이미지가 정상적으로 잘 생성되었는지 확인한다. 4. docker save [옵션] {파일 이름} 도커 이미지를 파일 형태(tar.gz)로 저장 docker commit과의 차이점은 docker commit은 이미 실행 중인 상태를 ..

Linux/Docker 2023.10.24

Github .gitignore 파일이란?

깃헙에서 종종 볼 수 있는 .gitignore 파일은 프로젝트 저장소에 추가되면 안되는 즉, 무시해야 하는 파일이나 폴더를 지정하는 파일이다. 이 파일에 기록된 항목들은 git이 변경 내용을 추적하지 않도록한다. 예를 들어 테스트 파일이나 로그 파일, 캐쉬 파일, 토큰 같은 비밀 정보가 담긴 파일 등을 깃헙 저장소에 올리지 않도록 할 때 유용하게 사용할 수 있다. .gitignore 패턴 * : 모든 항목 ? : 한 글자 / : 디렉토리 ! : 예외 # : 주석 사용 예시 1. 특정 확장자를 가진 파일 무시 *.txt # 모든 .txt 파일을 무시한다. 2. 특정 파일 무시 test.py # test.py 파일을 무시 3. 특정 디렉토리 무시 /test/ # test 디렉토리와 안에 있는 모든 파일, 하..

Linux/Git 2023.09.21

도커(docker) dockerfile 인스트럭션

Dockerfile은 이름만 보면 여러 가지 목적으로 사용할 수 있을 것 같지만 사실은 이미지를 만드는 것밖에 할 수 없다. 쉽게 말해 ‘도커 이미지 파일’ 정도의 존재다. Dockerfile 스크립트에는 토대가 될 이미지나 실행할 명령어 등을 기재한다. Dockerfile에는 호스트 컴퓨터의 이미지 재료가 들어있는 폴더(위치는 어디라도 상관없다)에 넣는다. 재료 폴더에는 그 외 컨테이너에 넣을 파일을 함께 둔다. 실제 컨테이너를 만들 필요는 없다. Dockerfile 스크립트로 이미지 만들기 이미지 생성 명령어 docker build -t [생성할 이미지 이름] [재료 폴더 경로] Dockerfile 스크립트의 예시 FROM [이미지 이름] COPY [원본 경로] [대상 경로] RUN [리눅스 명령어]..

Linux/Docker 2023.08.24

도커(docker) 파일 작성 방법 예시 feat.FastAPI

도커 파일 작성 예시로 간단한 back-end 서버를 만들어 본다. 다음은 파이썬 FastAPI 백엔드 서버를 작성한 후 docker 이미지를 생성하는 예시이다. Docker가 설치되어 있다는 가정하에 작성한다. 1. FastAPI 백엔드 서버 작성 main.py from typing import Union from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: Union[str, None] = None): return {"item_id": item_id, "q": q} re..

Linux/Docker 2023.08.10

도커(docker) 설치 방법 - 우분투(ubuntu)

Ubuntu에서 Docker를 설치하는 방법은 다음과 같다. 1. 시스템 업데이트 sudo apt update 2. 필요한 의존성 패키지 설치 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common 3. Docker 공식 GPG 키 추가: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 4. Docker repository 추가: echo "deb [arch=amd64 signed-by=/usr/share/keyrings/doc..

Linux/Docker 2023.08.10

도커(docker)란 무엇인가? - 도커 개념 및 기초

도커는 컨테이너화 기술을 사용하여 애플리케이션을 개발, 배초 및 실행하기 위한 오픈소스 플랫폼이다. 애플리케이션과 실행 환경을 컨테이너 단위로 패키징하여 격리 후 일관되고 효율적인 환경에서 작업할 수 있다. 쉽게 말해서 같은 컴퓨터 내에서 독립적으로 환경을 구축할 수 있다. VM(Virtual Machine)과 같은건가? 라고 생각할 수도 있다. 도커 컨테이너와 VM은 모두 이미지로 생성된다. 도커는 애플리케이션 환경의 백업을 생성하고, VM은 OS 백업을 생성한다. 또한 가상화 기술을 사용한다는 것에 대해 유사하다고 생각할 수 있지만 주요한 차이점은 가상화 방식이다. VM은 하이퍼바이저를 사용하여 하드웨어를 시뮬레이션하고, VM마다 별도의 OS 인스턴스(Guest OS)를 실행한다. 도커는 호스트 OS..

Linux/Docker 2023.08.10

error: Your local changes to the following files would be overwritten by checkout:

Branch를 변경하거나 git pull을 할 때 다음과 같은 오류가 발생하였다. error: Your local changes to the following files would be overwritten by checkout: ... Please commit your changes or stash them before you switch branches. Aborting 해결 방법은 다음과 같다. 현재 브랜치에서 작업한 내용을 저장한다. git stash git stash 명령을 사용하면 수정한 내용들만 저장한다. 그후 브랜치를 변경하거나, git pull을 하면된다. git stash에 대한 자세한 내용은 아래의 링크로... https://zerostarting.tistory.com/20 Git s..

Linux/Git 2022.12.17

리눅스(Linux) 크론(Cron), 크론탭(crontab) 설치 방법, 사용 방법 - Ubuntu, CentOS

크론이 뭔가요? 크론은 설정한 시간, 날짜, 간격에 따라 작업을 주기적으로 실행하는 스케줄러이다. 크론을 사용함으로 써 주기적으로 반복하던 일을 자동화 할 수 있다. Cron 설치 방법 CentOS # cron 설치 sudo yum update -y sudo yum install -y cronie # cron 시작 sudo systemctl start crond # cron systemctl 활성화 sudo systemctl enable crond # cron systemctl 등록 확인 sudo systemctl list-unit-files | grep crond Ubuntu # cron 설치 sudo apt update -y sudo apt install -y cron # cron 시작 sudo se..

Linux 2022.12.05

쿠버네티스 mySQL pod dump

기존의 linux에서 mysql dump를 할 때는 다음과 같다. # 예) mysqldump -u dbUser -p password -A > db_dump.sql 쿠버네티스의 mySQL pod를 dump할 시 kubectl exec -it [podName] -n [namespace] -- mysqldump -u [dbUser] -p[password] [dbName] > [scriptName].sql dump한 파일을 복원할 시 kubectl exec -[it | -i] [podName] -n [nameSpace] -- mysql -u [dbUser] -p[password] [dbName] < [scriptName].sql 쉘스크립트 예제 # 모든 DB를 dump 후 현재 날짜를 이름으로 sql 파일을 저..

Linux 2022.09.01
반응형