欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker怎么搭建Django+Mariadb環(huán)境

這篇文章主要講解了“Docker怎么搭建Django+Mariadb環(huán)境”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Docker怎么搭建Django+Mariadb環(huán)境”吧!

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出莘縣免費(fèi)做網(wǎng)站回饋大家。

Docker搭建Django+Mariadb環(huán)境

閱讀建議

先通讀全文后,再自行決定需要實(shí)踐的步驟。后文總是有更簡(jiǎn)潔更快更好的實(shí)踐。

不過(guò),新人建議從頭到尾實(shí)踐,也不失為“笨辦法學(xué)Docker”的美談一樁。

本文思路:

直接拉取Mariadb鏡像,搭建數(shù)據(jù)庫(kù)
手動(dòng)Build Django鏡像:
	以python2.7為基礎(chǔ)鏡像
	讓我們做的更好:以Python2.7-slim為基礎(chǔ)鏡像的優(yōu)化
	"docker -v"&&"docker --link"

源碼:git@github.com:AnInputForce/autodepopy.git

基本上是邊學(xué)邊實(shí)驗(yàn),關(guān)鍵步驟都有commit。請(qǐng)各位參考。

環(huán)境之“Docker-Mariadb”搭建

參考:在Mac中直接安裝Maridb(不推薦),Mac中MariaDB數(shù)據(jù)庫(kù)的安裝步驟

首先,把你的宿主機(jī)mac或linux裝上tree命令。沒(méi)有也沒(méi)關(guān)系,下文有相關(guān)的換成ls即可;

下載Mariadb數(shù)據(jù)庫(kù)鏡像

docker pull mariadb

啟動(dòng)并配置DB

  • 映射數(shù)據(jù)庫(kù)數(shù)據(jù)文件和配置文件

    • 新建~/mariadb/data 、~/mariadb/custom目錄

    • -v ~/mariadb/data:/var/lib/MySQL 映射數(shù)據(jù)文件出來(lái)

    • -v ~/mariadb/custom:/etc/mysql/conf.d 映射配置文件出來(lái)

    • 指定數(shù)據(jù)庫(kù)編碼utf8mb4,參考:mysql使用utf8mb4經(jīng)驗(yàn)吐血總結(jié)

$ mkdir -p ~/mariadb/data ~/mariadb/custom
$ docker run --name my-mariadb -v ~/mariadb/data:/var/lib/mysql   -v ~/mariadb/custom:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1q2w -d mariadb:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

測(cè)試驗(yàn)證

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
77de3a6bf3fe        mariadb:latest      "docker-entrypoint..."   2 minutes ago       Up About a minute   0.0.0.0:3306->3306/tcp   my-mariadb
$ docker exec -it my-mariadb bash
root@77de3a6bf3fe:/# mysql -uroot -p1q2w
Welcome to the MariaDB monitor.  Commands end with ; or \g.
....
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.02 sec)

環(huán)境之“Docker-Django”搭建

很意外,翻了翻官方hub 鏡像,有如下提示:

This image is officially deprecated in favor of the standard python image;

大致意思是:這個(gè)鏡像已被標(biāo)準(zhǔn)python鏡像取代。該鏡像不能直接帶來(lái)Django環(huán)境,僅有的價(jià)值是提供一些Django依賴(lài)如mysql-client等。或許因?yàn)镈jango是APP級(jí)的,依賴(lài)于Project的requirements.txt,like this:

只能自己動(dòng)手,豐衣足食了。正好練練剛學(xué)習(xí)到的知識(shí)。

準(zhǔn)備項(xiàng)目目錄

  • workspace 工作空間,所有項(xiàng)目大本營(yíng):自己習(xí)慣

  • autodeploy 自動(dòng)部署項(xiàng)目的目錄:自己習(xí)慣

  • z-dev 存放開(kāi)發(fā)環(huán)境dockerfile及相關(guān)信息:自己習(xí)慣

  • z-pub 存放生產(chǎn)環(huán)境dockerfile及相關(guān)信息:自己習(xí)慣

  • .dockerignore 存放不被鏡像build時(shí)關(guān)注的文件:來(lái)自Vscode。linux下不可見(jiàn),具體內(nèi)容詳見(jiàn)此項(xiàng)目github;

$ mkdir -p ~/workspace/autodeploy && cd ~/workspace/autodeploy && mkdir z-dev z-pub

創(chuàng)建Dockerfile

直接使用Python2.7基礎(chǔ)鏡像,簡(jiǎn)單粗暴省事,適合想快速體驗(yàn)的孩子:

# 基礎(chǔ)鏡像
FROM python:2.7
# 維護(hù)者信息
MAINTAINER kang.cunhua <kangcunhua@git.com.cn> 
# app 所在目錄
WORKDIR /usr/local/web
ADD . /usr/local/web/
# 安裝 app 所需依賴(lài)
RUN pip install --no-cache-dir -r requirements.txt

創(chuàng)建requirements.txt

Django==1.11.3
MySQL-python

宿主機(jī)當(dāng)前目錄結(jié)構(gòu)

ChinaDreams:autodeploy kangcunhua$ tree
.
├── readme.md
├── z-dev
│   ├── Dockerfile
│   └── requirements.txt
└── z-pub
    └── Dockerfile

2 directories, 4 files

Build鏡像

當(dāng)前目錄:~\workspace\autodeploy

cd z-dev && docker build -t mydjango:latest .

查看鏡像

ChinaDreams:z-dev kangcunhua$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mydjango            latest              90a25c587400        23 seconds ago      699MB

啟動(dòng)運(yùn)行&進(jìn)入容器

后臺(tái)啟動(dòng):-d 參數(shù),不加就進(jìn)入bash交互界面了。此處為演示,先run -d后臺(tái),再exec進(jìn)入;

ChinaDreams:z-dev kangcunhua$ docker run --name web -it -p 8000:8000 -d mydjango /bin/bash
0b0e757708c29d0aa1799c14b6cd1f19a48e7cd748223064a0ab9205432ed23a
ChinaDreams:z-dev kangcunhua$ docker exec -it web /bin/bash
root@9326b308aacd:/usr/local/web#

清理和驗(yàn)證環(huán)境

清理多余文件

root@9326b308aacd:/usr/local/web# ls
requirements.txt
root@9326b308aacd:/usr/local/web# rm *

驗(yàn)證

root@9326b308aacd:/usr/local/web# python --version
Python 2.7.13
root@9326b308aacd:/usr/local/web# python -m django --version
1.11.3

腳手架生成項(xiàng)目,啟動(dòng)web服務(wù)

root@26ad1dfb070f:/usr/web# django-admin startproject autodeploy
root@26ad1dfb070f:/usr/web# cd autodeploy && python manage.py runserver 0:8000

瀏覽器訪問(wèn)

http://localhost:8000,不出意外,你可以看到傳說(shuō)中的Django歡迎頁(yè)面:

It worked!
Congratulations on your first Django-powered page.

把項(xiàng)目框架copy出來(lái)

CONTROL-C退出webserver;然后退出容器:

root@9326b308aacd:/usr/local/web/autodeploy# exit
exit
ChinaDreams:z-dev kangcunhua$ cd ~/workspace && docker cp web:/usr/local/web/autodeploy . && cd autodeploy && rm -rf db.sqlite3 && tree
.
├── autodeploy
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── manage.py
├── readme.md
├── z-dev
│   ├── Dockerfile
│   └── requirements.txt
└── z-pub
    └── Dockerfile

3 directories, 13 files

刪除容器web

到此為止,此容器使命已經(jīng)完成:生成項(xiàng)目初始化目錄,刪了即可;

ChinaDreams:autodeploy kangcunhua$ docker stop web && docker rm web

新啟容器web,掛載本地目錄

本地目錄優(yōu)先覆蓋容器目錄,然后就實(shí)時(shí)同步了。PS:所以一開(kāi)始想把容器內(nèi)某目錄掛載出來(lái),比較難。不如先copy出來(lái),清空。然后從本地掛載上去。

"run -d"后臺(tái)啟動(dòng),exec執(zhí)行命令啟動(dòng)web server

ChinaDreams:autodeploy kangcunhua$  docker run --name web -d -it -p 8000:8000 -v ~/workspace:/usr/local/web  mydjango /bin/bash
2bf0f6d17f1d103a37a7992393e1f97483034cdadb01df6cf49ab4e1d8746f62
ChinaDreams:autodeploy kangcunhua$ docker exec -it web /bin/bash -c "cd autodeploy&&python manage.py runserver 0:8000"

運(yùn)行,收獲Django歡迎界面

http://localhost:8000

It worked!
Congratulations on your first Django-powered page.

歡慶吧,少年!

讓我們做的更好

需要清醒的是,還有以下問(wèn)題

  • 我們此時(shí)還未使用到Mariadb,默認(rèn)使用的是SqlLite數(shù)據(jù)庫(kù)。接下來(lái)我們看看,從web容器中如何訪問(wèn)數(shù)據(jù)庫(kù);

  • 我們默認(rèn)使用的是Python的基礎(chǔ)庫(kù),安裝完django體積達(dá)到了驚人的近700M。

  • 在docker pull安裝鏡像時(shí),簡(jiǎn)直是龜速:由于眾所周知的原因

  • 在pip install 安裝python模塊是,也和龜速差不多了:由于眾所周知的原因

  • 我們能不能做的更好?答案是,必須能!

改進(jìn)我們的Dockerfile

# 基礎(chǔ)鏡像
FROM python:2.7-slim
# 維護(hù)者信息
MAINTAINER kang.cunhua <kangcunhua@git.com.cn> 
# app 所在目錄
WORKDIR /usr/src/web
ADD . /usr/src/web
# 安裝 app 所需依賴(lài),做一些清理工作
RUN	buildDeps='gcc'; \ 
	deveDeps='mysql-client'; \ 
	set -x \
	&& cp /etc/apt/sources.list /etc/apt/sources.list.backup \
	&& mv sources.list /etc/apt/sources.list \
	&& apt-get update && apt-get install -y libmysqlclient-dev $buildDeps $deveDeps \
	# When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
	&& pip install --no-cache-dir -r requirements.txt ipython==5.4.1 \
	-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com  \
	&& rm -rf requirements.txt \
	# 移除gcc
	&& apt-get purge -y --auto-remove $buildDeps

注釋已經(jīng)不少了,對(duì)于新增的內(nèi)容,還有些解釋如下:

python:2.7-slim

改用更小的slim鏡像。一是減小構(gòu)建鏡像大小,二是可以從精簡(jiǎn)版折騰開(kāi)始,復(fù)習(xí)鞏固Dockerfile的知識(shí)。

比對(duì)下前后兩個(gè)構(gòu)建完畢的鏡像打下,安裝了一大堆工具,鏡像減小了1/2的體積。之所以第二個(gè)鏡像repository:tag都為none,是因?yàn)槲覀冞@次打包的鏡像也使用了mydjango:latest。

ChinaDreams:z-dev kangcunhua$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mydjango            latest              8fee1723a96c        2 minutes ago       355MB
<none>              <none>              90a25c587400        About an hour ago   699MB

sources.list

python的鏡像使用的Debian,版本是jessie。找到了國(guó)內(nèi)阿里云的加速鏡像。

deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib

mirrors.aliyun.com

同樣使用的是阿里云的python pip源,安裝時(shí)指定阿里云的源,并信任即可即可:

-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

安裝mysql-client

是因?yàn)椤皃ython manage.py dbshell”命令需要。此命令可以方便操作數(shù)據(jù)庫(kù),并自動(dòng)加載了一些環(huán)境變量;開(kāi)發(fā)環(huán)境還是用得到的;生成環(huán)境可以移除;若不安裝,執(zhí)行命令python manage.py dbshell時(shí),會(huì)提示

CommandError: You appear not to have the 'mysql' program installed or on your path.

安裝和卸載gcc

因?yàn)镸ySQL-python的安裝依賴(lài)gcc。網(wǎng)上也有說(shuō)安裝MySQL-devel包就能解決,暫不需要,也有提示把這些python-devel mysql-devel zlib-devel openssl-devel,都安裝上就好了,太多了。只安裝gcc,用完之后再卸載即可。

不安裝gcc在build時(shí)編譯MySQL-python報(bào)錯(cuò):

unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

安裝ipython==5.4.1

是因?yàn)椤皃ython manage.py shell”進(jìn)入交互式命令行會(huì)用到。不安裝不方便。如果你安裝了ipython 會(huì)自動(dòng)用它們的界面。ipython是一套增強(qiáng)交互式Shell,用過(guò)的都說(shuō)好;當(dāng)然:生產(chǎn)環(huán)境可以不用安裝。

開(kāi)始重新構(gòu)建

準(zhǔn)備:創(chuàng)建數(shù)據(jù)庫(kù)

ChinaDreams:autodeploy kangcunhua$ docker exec -d my-mariadb mysql -uroot -p1q2w -e "create database mydeploy;"

準(zhǔn)備:修改DB配置

刪除db.sqlite3,之前雖然copy時(shí)刪除了,但是運(yùn)行webserver時(shí)默認(rèn)配置的還是sqlite3,所以又生成了。

cd ~/workspace/autodeploy && rm db.sqlite3

進(jìn)入web容器,修改/autodeploy/autodeploy/settings.py中DATABASES配置:

docker exec -it web /bin/bash

因?yàn)槲覀円呀?jīng)做了本地映射,直接用Vscode修改對(duì)應(yīng)配置文件也是有效的;

注意'HOST': 'db'中,db就是我們?cè)趌ink中配置的別名。

DATABASES = {  
    'default': {  
        'ENGINE': 'django.db.backends.mysql',  
        'NAME': 'mydeploy',  
        'USER': 'root',  
        'PASSWORD': '1q2w',  
        'HOST': 'db',  
        'PORT': '3306',  
    }  
}

Build鏡像

當(dāng)前目錄:~\workspace\autodeploy

cd z-dev && docker build -t mydjango:latest .

查看鏡像

ChinaDreams:z-dev kangcunhua$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mydjango            latest              90a25c587400        23 seconds ago      699MB

Web容器訪問(wèn)Mariadb數(shù)據(jù)庫(kù)

這時(shí),就不得不提“--link”命令的使用了:

—link name:alias

name是我們連接容器的名字,alias是link的別名。比如我們連接了數(shù)據(jù)庫(kù)容器的web容器,就可以拿alias來(lái)配置數(shù)據(jù)庫(kù)連接了。見(jiàn)下文:我們?cè)趩?dòng)容器時(shí)link數(shù)據(jù)庫(kù):

不加這個(gè)link,你在web容器中,是連不上127.0.0.1:3306的。即使暴露了3306端口;

后臺(tái)啟動(dòng)數(shù)據(jù)庫(kù)(-d)

此時(shí)我們數(shù)據(jù)庫(kù)應(yīng)該是啟動(dòng)的,如果docker ps發(fā)現(xiàn)沒(méi)有啟動(dòng),沒(méi)關(guān)系,敲如下命令啟動(dòng):

docker run --name my-mariadb -v ~/mariadb/data:/var/lib/mysql   -v ~/mariadb/custom:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1q2w -d mariadb:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

為項(xiàng)目創(chuàng)建數(shù)據(jù)庫(kù)mydeploy,如果有錯(cuò)誤,先查日志

docker exec -d my-mariadb mysql -uroot -p1q2w -e "create database mydeploy;" 
docker logs my-mariadb

啟動(dòng)web容器link數(shù)據(jù)庫(kù)容器

docker run --name web  --link=my-mariadb:db -it -p 8000:8000 -v ~/workspace:/usr/src/web  -d mydjango:latest /bin/bash 
e309fd9e718faf6629ce668860d5c9392c52da4f649f4307abf632a15b67285c

驗(yàn)證環(huán)境命令

分別是:檢查python版本、檢查django版本、進(jìn)入dbshell操作數(shù)據(jù)庫(kù)、進(jìn)入ipython;

python --version
python manage.py -m django --version
./manage.py dbshell
./manage.py shell

創(chuàng)建管理員

先migrate數(shù)據(jù)庫(kù),在創(chuàng)建管理員

ChinaDreams:z-dev kangcunhua$ docker exec -it web /bin/bash
root@e309fd9e718f:/usr/src/web# cd autodeploy/
root@e309fd9e718f:/usr/src/web/autodeploy# python manage.py migrate
root@e309fd9e718f:/usr/src/web/autodeploy# python manage.py createsuperuser

啟動(dòng)web服務(wù)器

在web容器中,執(zhí)行

 python manage.py runserver 0:8000

在宿主機(jī)上訪問(wèn)

http://localhost:8000

就可以看到傳說(shuō)中的Django歡迎頁(yè):“It works!”。查看數(shù)據(jù)庫(kù),也有對(duì)應(yīng)的表創(chuàng)建了。

登錄后臺(tái),也可以看到對(duì)應(yīng)自動(dòng)生成好的頁(yè)面

http://localhost:8000/admin

MySql客戶(hù)端推薦

對(duì)了,mac下MySQL或Mariadb客戶(hù)端,推薦Sequel Pro,免費(fèi)且超級(jí)好用,比Oracle官方的都好用。

能不能做的更好

答案是:能,必須能!比如我們可以引進(jìn)docker compose來(lái)創(chuàng)建幾個(gè)微服務(wù),整合指揮整個(gè)系統(tǒng)架構(gòu);

讓我們引入docker-compose

docker-compse是我們?nèi)萜骷旱谋姸辔⒎?wù)管理利器。

修訂dockerfile

不使用文件的方式更新源,改為在dockfile中直接用命令寫(xiě)入阿里云的源,方便在git中管理版本。

來(lái)一份完整的dockerfile參考:

# 基礎(chǔ)鏡像
FROM python:2.7-slim
# 維護(hù)者信息
MAINTAINER kang.cunhua <kangcunhua@git.com.cn> 
# app 所在目錄
WORKDIR /usr/local/web
ADD . /usr/local/web
# 安裝 app 所需依賴(lài),做一些清理工作
RUN	buildDeps='gcc'; \ 
	deveDeps='mysql-client'; \ 
	set -x \
	&& mv /etc/apt/sources.list /etc/apt/sources.list.bak  \
    && echo "deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list \
    && echo "deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free  contrib" >>/etc/apt/sources.list \
    && echo "deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list \
    && echo "deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list \
	&& apt-get update && apt-get install -y libmysqlclient-dev $buildDeps $deveDeps \
	# When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
	&& pip install --no-cache-dir -r requirements.txt ipython==5.4.1 \
	-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com  \
	&& rm -rf requirements.txt \
	# 移除gcc
	&& apt-get purge -y --auto-remove $buildDeps

dockercompose.yml

version: '2'
services:
  db:
    image: mariadb
    expose:
      - "3306"
    volumes:
      - ~/mariadb/data:/var/lib/mysql
      - ~/mariadb/custom:/etc/mysql/conf.d
    environment:
      - MYSQL_DATABASE=mydeploy
      - MYSQL_ROOT_PASSWORD=1q2w  
      - ON_CREATE_DB="mydeploy"
      - COMPOSE_PROJECT_NAME=autodeploy
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  web:
    build:  
      context: . 
    image: mydjango:latest
    volumes:
      - ~/workspace:/usr/local/web
    ports:
      - "8000:8000"
    links:
      - db
    command: python ./autodeploy/manage.py runserver 0.0.0.0:8000

啟動(dòng)并訪問(wèn)

 docker-compose up

migrateDB、創(chuàng)建管理員

ChinaDreams:z-dev kangcunhua$ docker exec -it zdev_web_1 /bin/bash
root@e309fd9e718f:/usr/local/web# cd autodeploy/
root@e309fd9e718f:/usr/local/web/autodeploy# python manage.py migrate
root@e309fd9e718f:/usr/local/web/autodeploy# python manage.py createsuperuser

校驗(yàn)環(huán)境變量

root@e309fd9e718f:/usr/local/web/autodeploy# python manage.py dbshell
show variables like 'character_set_database';
show variables like 'collation_%';

排錯(cuò)命令

基本上docker 能用的命令,docker-compose也能用

docker-compose up -d	# 后臺(tái)啟動(dòng)
docker-compose logs		# 查看微服務(wù)群日志
docker-compose ps		# 查看微服務(wù)群容器狀態(tài)

指定Project名啟動(dòng)

如果不指定,默認(rèn)容器服務(wù)的name是"當(dāng)前目錄_service_number",比如"zdev_web_1",指定為autoploy后,應(yīng)該會(huì)變成_"autodeploy__web_1"。

COMPOSE_PROJECT_NAME=autodeploy docker-compose up
docker-compose -p autodeploy up

訪問(wèn)

  • http://localhost:8000

  • http://localhost:8000/admin

    • 因?yàn)榧虞d了之前的數(shù)據(jù)庫(kù)文件,所以之前的仍舊能用:

    • 賬號(hào)是之前創(chuàng)建好的 admin/root8888

當(dāng)前文件目錄

ChinaDreams:workspace kangcunhua$ tree
.
└── autodeploy
    ├── autodeploy
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── settings.py
    │   ├── settings.pyc
    │   ├── urls.py
    │   ├── urls.pyc
    │   ├── wsgi.py
    │   └── wsgi.pyc
    ├── manage.py
    ├── readme.md
    ├── z-dev
    │   ├── Dockerfile
    │   ├── docker-compose.yml
    │   ├── requirements.txt
    │   └── sources.list
    └── z-pub
        └── Dockerfile

4 directories, 15 files

參考列表

Mariadb在Docker下安裝配置

參考:Start a mariadb server instance,強(qiáng)烈推薦。

參考: docker(6):使用dokcer 構(gòu)建 mariadb 數(shù)據(jù)庫(kù)

使用一個(gè)最簡(jiǎn)單的辦法安裝了mariadb。并且將數(shù)據(jù)放到了宿主機(jī)的/data/mysql/data 目錄下面了。 方便數(shù)據(jù)備份,數(shù)據(jù)遷移,同時(shí)暴露了3306端口對(duì)外。 使用docker還是非常的方便的,比起yum安裝配置簡(jiǎn)單多了。 配置文件也可以通過(guò)目錄映射的方式修改。 而且完全的拆分了服務(wù),存儲(chǔ),接口。真的是一個(gè)集裝箱了。

Mac tree命令

參考:mac tree命令及參數(shù)

$ brew install tree

Django 文檔

  • Getting Started

    • Writing your first Django app, part 1

    • Writing your first Django app, part 2

感謝各位的閱讀,以上就是“Docker怎么搭建Django+Mariadb環(huán)境”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Docker怎么搭建Django+Mariadb環(huán)境這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

文章標(biāo)題:Docker怎么搭建Django+Mariadb環(huán)境
網(wǎng)站鏈接:http://chinadenli.net/article46/ppdeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)定制網(wǎng)站建站公司手機(jī)網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化