摘要:創(chuàng)建第一個應(yīng)用,第一步在構(gòu)建容器原文翻譯整理這篇文章將指導(dǎo)你如何用配置和啟動一個簡單的應(yīng)用。一詞我認(rèn)為翻譯為編制更恰當(dāng)。在這里我們需要一個服務(wù)器,一個數(shù)據(jù)服務(wù)器。編制文件指明了我們這些服務(wù)所用的鏡像,他們?nèi)绾芜B接,哪些卷要掛載到容器。
Mac Docker 創(chuàng)建第一個Django 應(yīng)用, Part 1 第一步:在Mac構(gòu)建Django 容器
原文:Quickstart: Compose and Django
翻譯整理:CK
這篇文章將指導(dǎo)你如何用Docker Compose 配置和啟動一個簡單的 Django + PostgreSQL 應(yīng)用。請先確保您已安裝Compose:
Install Docker Compose
定義您的項(xiàng)目組件
您需要創(chuàng)建一個Dockerfile 和一個Python 依賴文件,以及一個docker-compose.yml文件
創(chuàng)建一個項(xiàng)目目錄
創(chuàng)建一個新的Dockerfile在當(dāng)前項(xiàng)目目錄下
添加內(nèi)容到Dockerfile
FROM python:3 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/
保存Dockerfile
創(chuàng)建一個 requirements.txt
Dockerfile 中的 RUN pip install -r requirements.txt 將會用到它
添加所需的軟件到requirements.txt
Django>=1.8,<2.0 psycopg2
保存requirements.txt
創(chuàng)建一個docker-compose.yml
docker-compose.yml文件里描述了您的app所需要的服務(wù)。compose一詞我認(rèn)為翻譯為編制更恰當(dāng)。在這里我們需要一個web服務(wù)器,一個數(shù)據(jù)服務(wù)器。編制文件指明了我們這些服務(wù)所用的鏡像,他們?nèi)绾芜B接,哪些卷要掛載到容器。最后定義服務(wù)端口。
version: "3" services: db: image: postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db
保存 docker-compose.yml
創(chuàng)建一個Django項(xiàng)目
轉(zhuǎn)到項(xiàng)目根目錄
用docker-compose 創(chuàng)建項(xiàng)目
docker-compose run web django-admin.py startproject composeexample .
docker將啟動web容器,并在里面執(zhí)行 django-admin.py startproject composeexample,因?yàn)閣eb鏡像不存在所以compose先從當(dāng)前目錄建立它,見 build: 因?yàn)閽煸诹水?dāng)前目錄,所以新創(chuàng)建的項(xiàng)目文件在docker-compose run執(zhí)行完推出后可以看到
ls 項(xiàng)目目錄
$ ls -l drwxr-xr-x 2 root root composeexample -rw-rw-r-- 1 user user docker-compose.yml -rw-rw-r-- 1 user user Dockerfile -rwxr-xr-x 1 root root manage.py -rw-rw-r-- 1 user user requirements.txt
連接數(shù)據(jù)庫
打開composeexample/settings.py
替換DATABASE = …項(xiàng)
DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "postgres", "USER": "postgres", "HOST": "db", "PORT": 5432, } }
這些參數(shù)是根據(jù)docker-compose.yml所指定的postgres Docker 鏡像決定的。
保存
執(zhí)行docker-compose up
$ docker-compose up djangosample_db_1 is up-to-date Creating djangosample_web_1 ... Creating djangosample_web_1 ... done Attaching to djangosample_db_1, djangosample_web_1 db_1 | The files belonging to this database system will be owned by user "postgres". db_1 | This user must also own the server process. db_1 | db_1 | The database cluster will be initialized with locale "en_US.utf8". db_1 | The default database encoding has accordingly been set to "UTF8". db_1 | The default text search configuration will be set to "english". . . . web_1 | May 30, 2017 - 21:44:49 web_1 | Django version 1.11.1, using settings "composeexample.settings" web_1 | Starting development server at http://0.0.0.0:8000/ web_1 | Quit the server with CONTROL-C.
此時,你的Django app應(yīng)該運(yùn)行在8000端口上了。瀏覽器打開http://localhost:8000應(yīng)該能看到
列出所有容器:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES def85eff5f51 django_web "python3 manage.py..." 10 minutes ago Up 9 minutes 0.0.0.0:8000->8000/tcp django_web_1 678ce61c79cc postgres "docker-entrypoint..." 20 minutes ago Up 9 minutes 5432/tcp django_db_1
關(guān)閉容器
Ctrl-C
或者新開一個terminal執(zhí)行: docker-compose down
將docker-compose.yml requirements.txt Dockerfile 拷貝到Django項(xiàng)目的根目錄,應(yīng)與manage.py同目錄
運(yùn)行docker-compose up
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40900.html
摘要:創(chuàng)建第一個應(yīng)用,第一步在構(gòu)建容器原文翻譯整理這篇文章將指導(dǎo)你如何用配置和啟動一個簡單的應(yīng)用。一詞我認(rèn)為翻譯為編制更恰當(dāng)。在這里我們需要一個服務(wù)器,一個數(shù)據(jù)服務(wù)器。編制文件指明了我們這些服務(wù)所用的鏡像,他們?nèi)绾芜B接,哪些卷要掛載到容器。 Mac Docker 創(chuàng)建第一個Django 應(yīng)用, Part 1 第一步:在Mac構(gòu)建Django 容器 原文:Quickstart: Compose...
摘要:而大多數(shù)數(shù)據(jù)科學(xué)研究的場景下,更快的速度也意味著更早地發(fā)現(xiàn)問題和完成檢驗(yàn)假設(shè)的閉環(huán)。通常,數(shù)據(jù)科學(xué)被認(rèn)為研究成果立即應(yīng)用到生產(chǎn)環(huán)境都是比較緩慢的一個過程。 showImg(https://segmentfault.com/img/remote/1460000005771293); 概述 在數(shù)據(jù)科學(xué)研究中,快速驗(yàn)證想法是非常關(guān)鍵的一環(huán),而如何快速開發(fā)出數(shù)據(jù)產(chǎn)品則可以有效推動整個數(shù)據(jù)科學(xué)項(xiàng)...
摘要:而大多數(shù)數(shù)據(jù)科學(xué)研究的場景下,更快的速度也意味著更早地發(fā)現(xiàn)問題和完成檢驗(yàn)假設(shè)的閉環(huán)。通常,數(shù)據(jù)科學(xué)被認(rèn)為研究成果立即應(yīng)用到生產(chǎn)環(huán)境都是比較緩慢的一個過程。 showImg(https://segmentfault.com/img/remote/1460000005771293); 概述 在數(shù)據(jù)科學(xué)研究中,快速驗(yàn)證想法是非常關(guān)鍵的一環(huán),而如何快速開發(fā)出數(shù)據(jù)產(chǎn)品則可以有效推動整個數(shù)據(jù)科學(xué)項(xiàng)...
摘要:這篇教程從教程,我們會配置自己的數(shù)據(jù)庫,創(chuàng)造你的第一個模型,開始一個快捷的自動生成管理員站點(diǎn)。項(xiàng)目是一個特性網(wǎng)站的相關(guān)配置和應(yīng)用的集合。 Writing your first django app, part 2 this tutorial begins where Tutorial 1 left off.Well setup the database, create your fir...
閱讀 2248·2021-11-24 11:15
閱讀 3099·2021-11-24 10:46
閱讀 1400·2021-11-24 09:39
閱讀 3933·2021-08-18 10:21
閱讀 1488·2019-08-30 15:53
閱讀 1402·2019-08-30 11:19
閱讀 3335·2019-08-29 18:42
閱讀 2333·2019-08-29 16:58