Cloud

Cloud/Docker

도커 허브에 push, pull을 이용하여 도커 이미지 버전 관리하기

도커 허브를 통해 push, pull을 이용하기 위해서는 로컬에 도커가 설치되어 있어야 하며, 도커 허브에 가입되어 있어야 한다. 일단 첫 번째로 도커 허브에 가입한다.  도커 허브 : https://hub.docker.com/ Docker Hub Container Image Library | App ContainerizationDeliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.hub.docker.com 그 다음 Create repositor..

Cloud/Git

Commit Convention (유다시티 커밋 메세지 스타일 가이드)

커밋 컨벤션커밋(Commit)은 프로젝트의 변경사항을 메시지와 함께 저장하는 것을 의미한다. 커밋을 하게 되면 메시지가 남는데 이를 통해서 자기가 작업했던 시점으로 돌아가거나, 수정된 내역을 찾아서 프로젝트 진행에 있는 부분에 있어서의 등등 여러 이점을 받을 수 있다. 혼자 작업한다면, 자신이 알아보기 쉽게만 커밋 메세지를 작성해도 무방하나, 협업 같은 활동을 하게 된다면 읽는 사람이 이해하기 쉽도록 메시지를 작성하여야 한다. 해당 문제를 해결하기 위해서 다른 사람들이 자주 사용하는 커밋 스타일을 정하고 이를 활용한다면 많은 효과를 가져다줄 것이라고 생각한다.  따라서 사람들이 자주 사용하고 있는, Udacity의 깃 커밋 스타일 가이드를 바탕으로 커밋 컨벤션을 정리하려고 한다.    커밋 메세지의 구조..

Cloud/Git

Learn Git Branching을 통해서 브랜치 관리 배우기 (메인 브랜치편)

오늘은 Learn Git Branching을 통해서 깃허브 명령어를 정리해보고자 한다.     Learn Git BranchingLearn Git Braching이란 Git branch을 사용하는 방법을 가이드와 그림으로 나타내어 학습할 수 있는 사이트이다.  Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org 해당 사이트에 들어가보면, git명령어에 대한 소개를 소스트리와 실습을 통해 알려주는데, 오늘은  이를 통해 해당 기능들을 모두 학습해보려 한다.     Commitgit 저장소에 스냅샷에 대한 기록을 남기는 것..

Cloud/Docker

docker compose로 django, nginx 연결하기

이번에는 docker compose을 통해 nginx와 django 프로젝트를 연결한다. 🐳 docker-compose.yaml version: "3.9" services: db: image: postgres ports: - "5432:5432" volumes: - ./data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=postgres backend: build: backend/. command: gunicorn config.wsgi:application --bind 0.0.0.0:8000 ports: - "8000:8000" volumes: - ./backend:/app - static_volume:/app/static - media_volu..

Cloud/Docker

docker compose을 이용하여 django, postgres 연결하기

일단 해당 작업을 하기 전에 현재 나의 폴더 구성을 보여주자면 아래와 같이 되어 있다. backend 폴더는 django 프로젝트로 되어 있고 이를 이미지로 빌드하기 위해서 backend안에 Dockerfile 생성하여 만들었다. 🐳 Dockerfile FROM python:3.9 WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD [ "python", "manage.py", "runserver", "0.0.0.0:8000" ] 📄 requirements.txt ... ... ... psycopg2 여기서 psycopg2 라이브러리는 python에서 postgreSQL을 사용..

Cloud/Docker

docker compose로 컨테이너 관리하기

도커 컴포즈 도커 컴포즈는 단일 서버에서 여러개의 컨테이너를 하나의 서비스로 정의하여 컨테이너의 묶음으로 관리할 수 있는 작업환경을 제공하는 관리도구를 의미한다. 여러 개의 컨테이너가 하나의 어플리케이션으로 동작할 때 도커 컴포즈를 사용하지 않는다면 일일이 하나씩 컨테이너를 만들어야하는데 해당 방법으로 한다면 관리가 쉽지 않다. 이런 단점을 보완하기 위해서 나온 것이 도커 컴포즈이며 이를 통해 여러개의 컨테이너의 옵션과 환경을 정의하는 파일을 읽어 컨테이너를 순차적으로 생성하는 형식으로 간편하게 여러개의 컨테이너를 관리 할 수 있다. 아래는 도커 컴포즈 파일의 예시이다. 참고로 yaml 파일은 뛰어쓰기 2칸을 기준으로 영역을 구분한다. 🐋 docker-compose.yaml version: "3.8" s..

Cloud/Docker

맥 M1, M2 에서 linux/amd64로 docker 빌드하기

맥 m1, m2 OS는 기본적으로 arm 기반으로 아키텍처를 이용하기 때문에 m1 노트북으로 도커파일을 빌드하여 도커 이미지를 만들게 된다면, 플랫폼이 linux/arm64 버전으로 생성이 된다. 우리가 일반적으로 서버에서 사용하는 OS는 linux/amd64 즉 arm이 아닌, amd 이기 때문에 이미지를 만들 때, --platform 옵션을 지정해줘야 한다. docker build --platform linux/amd64 -t docker-test .

Cloud/Docker

도커 컨테이너에 접속하여 파일 수정하기

도커 컨테이너에 접근하기 위해서는 아래 명령어를 이용한다. docker exec -it [docker container_id] bash 가끔 컨테이너 내에서 내용을 수정해야 한다면 vim을 설치한다. apt-get upgrade apt-get install nano apt-get install vim # 파일 수정하기 vim [file_name]

Cloud/Docker

[Docker] 컨테이너 끼리의 통신

Docker에서는 컨테이너 끼리의 통신을 원할하게 하기 위해서 docker network을 사용하여 처리 할 수 있다. 1. docker network 을 생성한다. docker network create favorites-net 2. docker container 을 실행한다. 옵션으로는 --network 을 통해 docker network에 연결한다. docker run -d --rm --name mongodb --network favorites-net mongo 그 다음 같은 네트워크에서 해당 컨테이너로 접근하여 데이터를 가져올 때에는, 컨테이너 명을 적어서 가져 올 수 있다. 다음은 그 예제 이다. # mongodb가 컨테이너 이름 이다. docker에서는 컨테이너 이름만 적으면 ip주소로 변환해..

JHeaon
'Cloud' 카테고리의 글 목록