상을 치르고 온 날
https://tikitaka205.tistory.com/102
프로젝트 전 목표
시간이 허락한다면 하고 싶은 것 - 프로젝트
Modeling(프로젝트 전체 이해를 위해 필요)
프로젝트가 계속 이어진다면 이전의 작업들이 돌아가는 방식부터 숙지.
Git을 사용하는 방법
Permission 기능 사용해보기
Js를 통해 Json데이터를 조금 더 유연하게 주고받기
궁극적 목표 : 팀원끼리 소통해서 서로 도우면서 남은기간 효율적으로(중요) 본인의 최고능력을 발휘하기
프로젝트 전 : DRF 기초 - 로그인 부터 시작해서 정말 기초적인 에러응답 세세하게 완벽하게 하는게 목표입니다.
프로젝트 : DRF 기초 - 로그인부터 시작해서 정말 기초적인 에러응답 세세하게 완벽하게 하는게 목표입니다.
정말 시간이 돼서 해본다면 만들어 봤던거 : 이메일인증 비밀번호 변경, 정보수정 / 안만들어본거 : 게시글 아이디에 공부시간에 따른 계급달기(적당한 응용이 될 듯 합니다.)
팀으로 얻어 가고 싶은 것 : github 마스터, 팀원의 장점 하나씩 배우기
계획 : DRF 강의모자란부분 듣기, git 공부하기 👍
프로젝트 기간 전 개인적 목표 : 에러 처리, 리팩토링, 세세한 부분을 채워나가고 배포를 배워서 출시하는 것
프로젝트 기간의 개인적 목표 : 참여 스터디 디테일 페이지, 공부량 순위(재미 요소)
팀으로 얻어 가고 싶은 것 : 문서의 체계화, 깃허브 체계화 등
chmod 400 /Users/GyeongminKim/Downloads/Stady_ubuntu.pem
컨테이너 생성하기
sudo docker run -d -p 80:80 httpd:latest
#run : 이미지를 사용해 컨테이너를 실행시킵니다.
# -d : 컨테이너를 데몬(백드라운드)으로 실행시킵니다.
# 80:80 : 80번 포트로 접속했을 때 컨테이너에 접근할 수 있도록 포트포워딩을 설정
# httpd:latest : httpd의 가장 최신 이미지를 사용해 컨테이너를 생성합니다.
실행중인 컨테이너 확인하기
sudo docker ps # 실행중인 컨테이너 목록 확인하기
# CONTAINER ID : 컨테이너가 가지고 있는 고유한 id
# IMAGE : 컨테이너가 생성될 때 사용된 이미지
# COMMAND : 컨테이너가 생성될 때 실행되는 명령어
# CREATED : 생성 후 경과 시간
# STATUS : 컨테이너 상태
# PORTS : 사용중인 포트
sudo docker ps -a
# -a : 중지된 컨테이너 목록까지 포함해서 모두 확인하기
다운 받은 이미지 확인하기
sudo docker images
# REPOSITORY : 이미지 저장소 이름
# TAG : 이미지 버전
# IMAGE ID : 이미지의 고유한 id
# CREATED : 이미지 생성일(마지막 업데이트 일)
# SIZE : 이미지 용량
컨테이너 내부로 들어가보기
sudo docker exec -it $container_id /bin/bash
# $containser_id : sudo docker ps를 쳤을 때 확인되는 container_id를 입력합니다.
# /bin/bash : 컨테이너에 접속할 때 사용되는 쉘을 입력합니다.
# 이미지에 따라 /bin/bash라는 쉘이 존재하지 않을 수 있는데, 이 경우에는 /bin/sh를 사용해 접속합니다.
#나오기
exit
도커 컴포즈 설치하기
sudo mkdir -p /usr/lib/docker/cli-plugins
# /usr/lib/docker 경로에 cli-plugins라는 디렉토리를 생성합니다.
# -p : 만약 상위 디렉토리가 없다면 함께 생성합니다.
sudo curl -SL https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64 -o /usr/lib/docker/cli-plugins/docker-compose
# github에 release 된 docker-compose 파일을 /usr/lib/docker/cli-plugins/ 경로에 다운로드 받습니다.
# v2.11.2는 docker-compose의 버전이며, 최신 버전은 [여기](https://github.com/docker/compose/releases)서 확인 가능합니다.
sudo chmod +x /usr/lib/docker/cli-plugins/docker-compose
# 다운받은 docker-compose 파일에 실행 권한을 부여해 줍니다. +x excute 권한 부여
sudo docker compose version
# docker-compose가 정상적으로 설치되었는지 확인합니다.
# Docker Compose version v2.11.2 정상적으로 설치 된 경우 버전이 출력됩니다.
주의 사항
docker compose stop VS down
포트 포워딩이란 - 외부에서 서버의 특정 포트에 접근했을 때 지정한 서비스로 전달해 주는 것을 의미한다.
sudo docker compose logs -f: 로그 실시간 확인 확인하기
도커 파일이란? docker 의 이미지를 직접 생성하기 위한 용도롤 작성하는 파일이다.
기본이 되는 이미지를 지정한 후, 특정 패키지를 설치하거나 파일을 추가하는 등의 작업을 통해 사용자가 직접 이미지를 빌드하고 사용할 수 있다.
예로 도커에서 장고를 배포한다고 가정했을 때, 기본 파이썬 이미지를 불러온 후 django 패키지를 pip install한 후 이미지를 생성하게 된다.
# 빌드할 때 사용할 이미지를 지정해줍니다.
FROM httpd:latest
# 현재 경로에 존재하는 index.html 파일을 컨테이너 내부로 복사합니다.
COPY ./index.html /usr/local/apache2/htdocs/index.html
########docker-compose.yml
version: '3.8' # docker-compose.yml에 사용될 문법 버전을 정의합니다.
services:
example: # 서비스 이름을 지정합니다. 서비스 이름은 컨테이너끼리 통신할 때 사용됩니다.
container_name: example # 컨테이너 이름을 지정합니다.
build: . # 현재 경로에 있는 Dockerfile을 사용해 이미지를 생성합니다.
ports: # 포트포워딩을 설정해줍니다.
- 80:80 # 외부에서 80 포트로 접속했을 때 컨테이너의 80 포트로 연결해줍니다.
restart: always # 컨테이너가 종료됐을 때 다시 실행시켜 줍니다.
entrypoint란? docker 컨테이너가 생성될 때 기본적으로 실행 할 명령어를 지정해 주는 옵션입니다.
예로, 데이터 베이스를 실행시키기 위해 만든 이미지는, 컨테이너가 생성될 때 데이터베이스 서비스를 실행시켜야 합니다. 이 때 사용되는 옵션이 entrypoint이다.
entrypoint는 Dockerfile과 docker-compose.yml 모두 작성할 수 있습니다.
만약 Dockerfile, docker-compose.yml 모두 entrypoint가 작성되어 있다면 Dockerfile의 entrypoint는 무시되고 docker-compose.yml의 명령어가 우선적으로 수행됩니다.
FROM python:3.9.15
# .pyc 파일을 생성하지 않도록 설정합니다.
ENV PYTHONDONTWRITEBYTECODE 1
# 파이썬 로그가 버퍼링 없이 즉각적으로 출력하도록 설정합니다.
ENV PYTHONUNBUFFERED 1
# /app/ 디렉토리를 생성합니다.
RUN mkdir /app/
# /app/ 경로를 작업 디렉토리로 설정합니다.
WORKDIR /app/
# main.py 파일을 /app/ 경로로 복사합니다.
COPY ./main.py /app/
상을 치르고 캠프에 몰입도가 좀 떨어지는 주간이었다. 다시 끌어올려 집중을 해야겠다.
팀원들과 아침, 저녁 미팅을 통해서 서로 배운점, 퀴즈 등을 내고 서로 조언이나 도움을 줄 수 있도록 하여 공부에 동기부여도 되면서 재미있게 하루를 되돌아보며 끝낼 수 있어서 좋은 의견이 모인 것 같다.
프로젝트 보완, 리팩토링, 배포
알고리즘
기능 추가