상을 치르고 온 날
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/
상을 치르고 캠프에 몰입도가 좀 떨어지는 주간이었다. 다시 끌어올려 집중을 해야겠다.
팀원들과 아침, 저녁 미팅을 통해서 서로 배운점, 퀴즈 등을 내고 서로 조언이나 도움을 줄 수 있도록 하여 공부에 동기부여도 되면서 재미있게 하루를 되돌아보며 끝낼 수 있어서 좋은 의견이 모인 것 같다.
프로젝트 보완, 리팩토링, 배포
알고리즘
기능 추가
You there, this is really good post here. Thanks for taking the time to post such valuable information. Quality content is what always gets the visitors coming. caps psychedelic amanita gummies review
Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for. 해외선물 솔루션
Fine Posting, We're an important believer around writing commentary for web pages so that you can allow the site freelancers realise that they’ve increased a little something valuable so that you can the ether! IPTV UK
When i got onto your blog site though putting attention simply just a little bit submits. Pleasant strategy for future, I will be bookmarking at a time get ones finish springs up. Drawer Cup Pulls
You make so many great points here that I read your article a couple of times. Your views are in accordance with my own for the most part. This is great content for your readers. thc vape pen cartridge