明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Linux系統(tǒng)使用Docker開(kāi)發(fā)Django項(xiàng)目圖文詳細(xì)教程

[摘要]在Linux系統(tǒng)中Docker是一個(gè)應(yīng)用開(kāi)發(fā)平臺(tái),可以把應(yīng)用在Docker上打包,然后在Linux Docker上運(yùn)行調(diào)試。而且目前Docker是Linux最火熱的軟件發(fā)布器之一了。本文就來(lái)介紹一下...

  在Linux系統(tǒng)中Docker是一個(gè)應(yīng)用開(kāi)發(fā)平臺(tái),可以把應(yīng)用在Docker上打包,然后在Linux Docker上運(yùn)行調(diào)試。而且目前Docker是Linux最火熱的軟件發(fā)布器之一了。本文就來(lái)介紹一下Linux系統(tǒng)使用Docker開(kāi)發(fā)Django項(xiàng)目教程。

  通過(guò) Docker Machine 「系統(tǒng)配置」和 Docker Compose 「多容器應(yīng)用組裝」 提供堆?梢酝瓿 Postgres, Redis 和 Django 項(xiàng)目相結(jié)合的開(kāi)發(fā)。

  而在最后,該堆棧將包括如下每個(gè)服務(wù)的單獨(dú)的容器:

  一個(gè) Web/ Django 的容器

  一個(gè) Nginx 的容器

  一個(gè) Postgres 的容器

  一個(gè) Redis 的容器

  一個(gè) Data 容器

Linux系統(tǒng)使用Docker開(kāi)發(fā)Django項(xiàng)目教程

  本地設(shè)置

  使用 Docker「v1.6.1」版本我們將使用到 Docker Compose 「v1.2.0」編排一個(gè)多容器組成的應(yīng)用程序,使用 Docker Machine「v0.2.0」創(chuàng)建本地和云的 Docker 主機(jī)。 按照指示,分別安裝 Docker Compose 和 Machine,然后測(cè)試安裝結(jié)果:

  $ docker-machine --version

  docker-machine version 0.2.0 (8b9eaf2)

  $ docker-compose --version

  docker-compose 1.2.0

  接下來(lái),根據(jù)以下項(xiàng)目結(jié)構(gòu)從realpython/dockerizing-django克隆一份項(xiàng)目或自己創(chuàng)建項(xiàng)目:

  ├── docker-compose.yml

  ├── nginx

  │ ├── Dockerfile

  │ └── sites-enabled

  │ └── django_project

  ├── production.yml

  └── web

  │ ├── Dockerfile

  │ ├── docker_django

  │ │ ├── __init__.py

  │ │ ├── apps

  │ │ │ ├── __init__.py

  │ │ │ └── todo

  │ │ │ ├── __init__.py

  │ │ │ ├── admin.py

  │ │ │ ├── models.py

  │ │ │ ├── templates

  │ │ │ │ ├── _base.html

  │ │ │ │ └── home.html

  │ │ │ ├── tests.py

  │ │ │ ├── urls.py

  │ │ │ └── views.py

  │ │ ├── settings.py

  │ │ ├── urls.py

  │ └── wsgi.py

  │ ├── manage.py

  │ ├── requirements.txt

  │ └── static

  │ │ └── main.css《/code》

  現(xiàn)在我們準(zhǔn)備容器運(yùn)行……

  Docker Machine

  開(kāi)啟 Docker Machine,只需運(yùn)行:

  $ docker-machine create -d virtualbox dev;

  INFO[0000] Creating CA: /Users/michael/.docker/machine/certs/ca.pem

  INFO[0000] Creating client certificate: /Users/michael/.docker/machine/certs/cert.pem

  INFO[0001] Downloading boot2docker.iso to /Users/michael/.docker/machine/cache/boot2docker.iso.。。

  INFO[0035] Creating SSH key.。。

  INFO[0035] Creating VirtualBox VM.。。

  INFO[0043] Starting VirtualBox VM.。。

  INFO[0044] Waiting for VM to start.。。

  INFO[0094] “dev” has been created and is now the active machine.

  INFO[0094] To point your Docker client at it, run this in your shell: eval “$(docker-machine env dev)”

  這個(gè) create 命令設(shè)置一個(gè)新的 Machine「開(kāi)發(fā)環(huán)境」。實(shí)際上,它是下載 Boot2Docker 并開(kāi)始運(yùn)行 VM,F(xiàn)在只要在開(kāi)發(fā)環(huán)境下指定 Docker:

  $ eval “$(docker-machine env dev)”

  運(yùn)行以下命令來(lái)查看當(dāng)前正在運(yùn)行的機(jī)器:

  $ docker-machine ls

  NAME ACTIVE DRIVER STATE URL

  dev * virtualbox Running tcp://192.168.99.100:2376

  接下來(lái),我們會(huì)讓 Django,Postgres 和 Redis 的容器運(yùn)行起來(lái)。

Linux是一套免費(fèi)使用和自由傳播的類(lèi)Unix操作系統(tǒng)