728x90 반응형 SMALL App Programming255 [Docker] Dockerfile Dockerfile Dockerfile은 Docker Image를 생성하기 위한 스크립트 (설정 파일)이다. 명령어를 토대로 Dockerfile을 작성한 후 docker build 명령어를 수행하면 이미지를 생성한다. 그리고 docker run 명령어를 하면 이미지로부터 컨테이너를 실행한다. 명령어 FROM : 베이스 이미지 (시작 이미지)의 선택 LABEL : 이미지에 메타 데이터 (설명) 추가 ARG : Docker 이미지 생서시 사용하는 값들 ENV : 컨테이너의 환경 변수 RUN : 명령어 실행 WORKDIR : 작업 디렉토리 변경 ADD : 파일 복사 COPY : 파일 복사 EXPOSE : 노출되는 포트 (-P 옵션과 사용) USER : 사용자 계정 이름 CMD : 컨테이너 실행시 실행되는 명령.. 2023. 2. 13. [Docker] 컨테이너 (Container) 컨테이너 (Container) 도커는 Linux의 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. 컨테이너는 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위이다. Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 경량의 독립형 실행 가능 소프트웨어 패키지이다. 컨테이너 이미지는 런타임에 컨테이너가 되고 Docker 컨테이너의 경우 이미지가 Docker 엔진에서 실행될 때 컨테이너가 된다. Linux 및 Windows 기반 애플리케이션 모두에서 사용할 수 있는 컨테이너화된 소프트웨어는 인프라에 관계없이 항상 .. 2023. 2. 13. [Docker] 윈도우 환경 설정 윈도우 환경 설정 별도의 가상 머신 (VM) 또는 듀얼 부팅 없이 기존 윈도우에서 리눅스를 사용할 수 있는 WSL를 통해 GNU / Linux 호환 환경을 만들 수 있다. Windows Terminal 설치 https://www.microsoft.com/ko-kr/p/windows-terminal/9n0dx20hk701?rtc=1&activetab=pivot:overviewtab에서 터미널을 다운로드한다. WSL2 설치 Windows Terminal 또는 Windows PowerShell을 관리자 권한으로 실행한다. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 시스템 요구 사항 .. 2023. 2. 8. 도커 (Docker) 도커 (Docker) 도커 (Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다. 도커는 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공한다. 도커는 cgroups와 커널 이름공간과 같은 리눅스 커널의 기능들과 OverayFS, aufs와 같은 유니언 가능 파일 시스템의 리소스 격리 기능을 사용하며, 이를 통해 독립적인 ".. 2023. 2. 8. [Django] 템플릿 (Templates) (2) main.html 장고에서는 base 폴더 안에 템플릿을 추가하도록 권장하고 있다. {% include 'navbar.html' %} {% block content %} {% endblock %} home.html {% extends 'main.html' %} {% block content %} Home Template {% for room in rooms %} {{room.id}} -- {{room.name}} {% endfor %} {% endblock content %} room.html {% extends 'main.html' %} {% block content %} {{room.name}} {% endblock content %} views.py base 폴더의 views.py를 다음과 같이 작.. 2023. 2. 2. [Django] 템플릿 (Templates) (1) 템플릿 (Templates) 템플릿은 HTML 파일로써 프로젝트 폴더에 "templates" 서브 폴더를 만들고 그 안에 템플릿 파일 (*.html)을 생성한다. 템플릿을 사용해서 html 파일과 views.py를 이용해 연동할 수 있다. 다음 코드를 실행하여 base 폴더를 생성하고 그 안에 home과 room의 html을 만든다. python manage.py startapp base # home.html Home Template # room.html Room Template 그 다음, base 폴더에서 urls.py 파일을 만들고 아래와 같이 작성한다. from django.urls import path from . import views urlpatterns = [ path('', views.ho.. 2023. 2. 1. [Django] URL's / Views URL's 인터넷의 모든 페이지에는 고유한 URL이 필요하다. 프로그램은 해당 URL을 여는 사용자에게 무엇을 표시해야 하는지 알 수 있다. 장고에서는 URLconf (URL 구성)라는 것을 사용한다. URLconf는 장고가 올바른 보기를 찾기 위해 요청한 URL과 일치하도록 시도하는 패턴의 집합이다. 프로젝트 이름으로 생성한 폴더에서 setting.py에 다음을 추가한다. # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.con.. 2023. 2. 1. [Django] 환경 설정 가상 환경 https://goatlab.tistory.com/1134을 참고하여 프로그래밍 환경을 맞춘다. virtualenv env 그 다음, 가상 환경을 활성화한다. .\env\Scripts\activate 장고 관리자로 프로젝트를 생성한다. django-admin startproject "프로젝트 이름" 프로젝트 폴더로 이동하고 manage 파일을 실행한다. cd "프로젝트 이름" python manage.py runserver http://127.0.0.1:8000/ 링크로 홈페이지를 연다. 2023. 2. 1. 장고 (Django) 장고 (Django) 장고 (Django)는 파이썬으로 작성된 오픈 소스 웹 프레임워크로, 모델-템플릿-뷰 (MTV) 패턴을 따르고 있다. 현재는 장고 소프트웨어 재단에 의해 관리되고 있다. 2003년 로렌스 저널-월드 신문을 만들던 웹 개발팀의 내부 프로젝트로 시작되었으며, 2005년 오픈소스 프로젝트로 공개되었다. 구글의 웹 어플리케이션 엔진에 장고가 사용되면서 인기를 얻게 되었다. 제공하는 기능이 풍부하여 쉽고 빠른 웹 개발이 가능하다. 고도의 데이터베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표이다. 장고는 콤포넌트의 재사용성(reusability)과 플러그인화 가능성 (pluggability), 빠른 개발 등을 강조하고 있다. 또한, "DRY (Don't repea.. 2023. 1. 31. [Flask] 라우트 (Route) 라우트 (Route) 라우트는 경로, 서로 다른 네트워크 간 데이터를 전송하고 전송한 데이터를 받는 경로를 말한다. 가상 환경과 동일한 곳에 파이썬 파일을 생성한다. 그 다음, 아래 코드를 입력하고 run을 누른다. from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == "__main__": app.run(debug = True) from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == "__main.. 2023. 1. 30. 이전 1 ··· 10 11 12 13 14 15 16 ··· 26 다음 728x90 반응형 LIST