最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker簡(jiǎn)單部署Django項(xiàng)目實(shí)例

 更新時(shí)間:2025年09月30日 09:51:54   作者:沉觴流年  
使用Docker部署Django項(xiàng)目需配置Nginx和uWSGI,注意端口沖突并禁用宿主機(jī)原有服務(wù),通過(guò)自定義bridge網(wǎng)絡(luò)實(shí)現(xiàn)容器間通信,掛載靜態(tài)文件目錄,利用腳本簡(jiǎn)化部署流程,確保容器與宿主機(jī)網(wǎng)絡(luò)隔離且可互相訪問(wèn)

docker簡(jiǎn)單部署Django項(xiàng)目

使用docker配置項(xiàng)目,不能與宿主機(jī)本身的nginx服務(wù)、uWSGI等服務(wù)起沖突,可以先將宿主機(jī)上的這些服務(wù)先禁用,僅通過(guò)docker來(lái)配置對(duì)應(yīng)的服務(wù);若不想在禁用原有的服務(wù)的情況下,需注意端口不要有沖突

docker配置nginx服務(wù)

docker拉取nginx鏡像docker pull nginx

以掛載目錄的方式啟動(dòng)Nginx,將項(xiàng)目靜態(tài)文件夾掛載到docker_nginx容器下的/usr/share/nginx/html目錄下

docker run \
 --name=docker_nginx \
 --privileged=true \
 -v /data/pythonProject/autotpsite/dist:/usr/share/nginx/html \
 -p 8080:80 \
 -d \
 nginx

--privileged=true 關(guān)閉安全權(quán)限,掛載多個(gè)目錄時(shí),容器操作文件夾會(huì)沒(méi)有權(quán)限

如果該容器僅是一次性使用,可以加上--rm參數(shù)

通過(guò)訪問(wèn)服務(wù)器IP:8080即可查看到對(duì)應(yīng)的靜態(tài)目錄文件

通過(guò)docker cp命令,將容器中的nginx的配置文件/etc/nginx拷貝到到宿主機(jī)上/data/nginx/conf,方便后續(xù)修改,因?yàn)槿萜鲀?nèi)沒(méi)有vi命令不方便修改。

docker cp docker_nginx:/etc/nginx /data/nginx/conf

docker配置后臺(tái)服務(wù)

修改uwsgi配置文件

[uwsgi]
chdir =./
// 項(xiàng)目根目錄,配置文件處于項(xiàng)目根目錄,因此設(shè)置為相對(duì)路徑即可,復(fù)用性更高
module = autotpsite.wsgi:application
// 指定wsgi模塊下的application對(duì)象
socket = 0.0.0.0:8888
//Nginx使用uwsgi_pass做方向代理時(shí) 需要設(shè)置成socket
master = true
// 主進(jìn)程
pidfile = uwsgi8888.pid
// pid 文件,用于腳本啟動(dòng),停止該進(jìn)程
daemonize = uwsgi_server.log
// 日志文件
enable-threads = true
// 新增配置--允許多線程
buffer-size = 40960
// 設(shè)置請(qǐng)求頭最大字節(jié)數(shù),用于socket模式

因?yàn)槿萜髦g通信協(xié)議是http,而之前的nginx是通過(guò)socket進(jìn)行通信,所以這里需要進(jìn)行修改

[uwsgi]
chdir = ./
// 項(xiàng)目根目錄,配置文件處于項(xiàng)目根目錄,因此設(shè)置為相對(duì)路徑即可,復(fù)用性更高
module = autotpsite.wsgi:application
// 指定wsgi模塊下的application對(duì)象
http = 0.0.0.0:8888
//對(duì)本機(jī)8888端口提供服務(wù)
master = true
// 主進(jìn)程
pidfile = ./uwsgi8888.pid
// pid 文件,用于腳本啟動(dòng),停止該進(jìn)程
daemonize = ./uwsgi_server.log
// 日志文件,只記錄錯(cuò)誤信息
disable-logging = true
socket-timeout=10

python容器操作

部署測(cè)試平臺(tái)后臺(tái)服務(wù) Django+uwsgi

首先服務(wù)都依賴Python3.8,所以需要拉取鏡像docker pull python:3.8

啟動(dòng)容器-掛載后端目錄-無(wú)需配置映射端口

docker run \
-it \
-v /data/pythonProject/autotpsite:/opt \
-p 8888:8888 \
--name djangoenv \
-d \
python:3.8

進(jìn)入容器

docker exec -it djangoenv bash

執(zhí)行cd /opt命令進(jìn)入容器掛載的opt目錄下,執(zhí)行ls命令,可以發(fā)現(xiàn),opt目錄下的文件,與宿主機(jī)/data/project/autotpsite目錄下的文件是一致的

安裝虛擬環(huán)境

執(zhí)行安裝庫(kù)操作

如果是Pipfile文件,需要通過(guò)pipenv命令進(jìn)行安裝對(duì)應(yīng)的庫(kù),則需要先安裝pipenv,不過(guò)這種方式需要python版本與Pipfile文件中的python版本一致

pip install pipenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

如果是通過(guò)requirements.txt文件的,則執(zhí)行pip命令安裝對(duì)應(yīng)的庫(kù)即可

pip install -r requirements.txt -i 
http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

如果換源方式下載庫(kù)異常,可以配置pip.conf文件

mkdir -p /root/.config/pip && touch /root/.config/pip/pip.conf && echo "
[global]\ntimeout = 60\nindex-url = https://pypi.doubanio.com/simple\ntrusted-host = pypi.doubanio.com" > /root/.config/pip/pip.conf

執(zhí)行命令python manage.py runserver,測(cè)試一下能否正常啟動(dòng),注意配置文件的數(shù)據(jù)庫(kù) IP是否正確,否則可能連接不上

安裝uWSGI服務(wù)

安裝uWSGI服務(wù)

pip install uwsgi -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

執(zhí)行uwsgi uwsgi.ini命令啟動(dòng)uWSGI,可通過(guò)ps -ef |grep uwsgi命令查看進(jìn)程是否啟動(dòng)成功,通過(guò)tail -100f uwsgi_server.log命令查看是否有異常日志

腳本一鍵部署

為了下次方便隨時(shí)啟動(dòng)新容器,可以把容器內(nèi)部的操作寫(xiě)成shell ,執(zhí)行vim auto_deploy.sh命令,編寫(xiě)腳本文件

auto_deploy.sh

cd opt/ && pip install -r requirements.txt -i http://pypi.douban.com/simple/ --
trusted-host pypi.douban.com && pip install uwsgi -i 
http://pypi.douban.com/simple/ --trusted-host pypi.douban.com && uwsgi uwsgi.ini 
&& tail -f > /dev/null

將文件保存到宿主機(jī)的對(duì)應(yīng)/data/project/autotpsite目錄下

下次重啟啟動(dòng)容器時(shí),可以帶上該腳本文件進(jìn)行執(zhí)行,就不用再手動(dòng)輸入命令去安裝虛擬環(huán)境和uWSGI服務(wù)了

docker run \
-it \
-p 8888:8888 \
-v /data/pythonProject/autotpsite:/opt \
--name djangoenv \
-d \
python:3.8 \
sh /opt/auto_deploy.sh

可通過(guò)docker logs -f djangoenv查看容器運(yùn)行的日志情況

修改nginx配置

修改nginx的配置文件,前面映射.出來(lái)了,所以不用進(jìn)入容器內(nèi)部去修改了,直接在宿主機(jī)下修改/data/nginx/conf目錄下,找到對(duì)應(yīng)的配置文件進(jìn)行修改即可/conf.d/default.conf,執(zhí)行命令vim default.conf編輯配置文件,在server塊中添加下方內(nèi)容

location ~/(api/|jira/) {
    proxy_pass    http://192.168.119.70:8888;
    # proxy_pass    http://127.0.0.1:8888;
}

重啟nginx容器

docker restart docker_nginx

其中192.168.119.70:8888為宿主機(jī)的ip+端口,該種方式是通過(guò)nginx訪問(wèn)宿主機(jī)的方式來(lái)訪問(wèn)對(duì)應(yīng)的docker后臺(tái)服務(wù)djangoenv,如果前端頁(yè)面接口返回正常信息,說(shuō)明使用docker部署Django后臺(tái)服務(wù)成功

docker網(wǎng)絡(luò)配置

proxy_pass設(shè)置為http://127.0.0.1:8888無(wú)法訪問(wèn),是因?yàn)槿萜鞯木W(wǎng)絡(luò)是和主機(jī)隔離的,有自己的一套網(wǎng)絡(luò)

docker網(wǎng)絡(luò)知識(shí)

查看主機(jī)的網(wǎng)絡(luò)發(fā)現(xiàn)有個(gè)docker0網(wǎng)卡,這個(gè)是docker使用的網(wǎng)卡,docker就通過(guò)這個(gè)網(wǎng)卡來(lái)進(jìn)行網(wǎng)絡(luò)通信。

[root@localhost ~]# ip addr
# 其他網(wǎng)卡
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
group default
   link/ether 02:42:f6:c3:5a:f4 brd ff:ff:ff:ff:ff:ff
   inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
   inet6 fe80::42:f6ff:fec3:5af4/64 scope link

docker run 創(chuàng)建 Docker 容器時(shí),可以用 --net 選項(xiàng)指定容器的網(wǎng)絡(luò)模式,Docker 有以下 4 種網(wǎng)絡(luò)模式:

  • bridge 模式,使用 --net=bridge 指定,默認(rèn)設(shè)置。
  • host 模式,使用 --net=host 指定。
  • container 模式,使用 --net=container:NAMEorID 指定。
  • none 模式,使用 --net=none 指定。

通過(guò)docker network ls命令可查看容器有哪些網(wǎng)絡(luò)

[root@localhost ~]# docker network ls
NETWORK ID     NAME     DRIVER   SCOPE
9f606136c768   bridge   bridge   local
c7fca13d33a9   host     host     local
b590d278d4b1   none     null     local

默認(rèn)情況容器是掛載在bridge網(wǎng)絡(luò)的,所以可以查看bridge網(wǎng)絡(luò)的信息,查詢到相關(guān)容器的內(nèi)部IP,讓后通過(guò)內(nèi)部IP互相訪問(wèn)。

執(zhí)行docker network inspect bridge命令查看docker容器網(wǎng)絡(luò)信息

# ....其他信息.....
"Containers": {
            "3220d0e521dc0d9ed1e62bbf06f3db6d13722878fd64162f24013f9a876e902b": {
                "Name": "docker_nginx",
                "EndpointID": "9a167c7df70e7259ea01467edc0527a4f7b6f8a72791c22b894b26a91fc52e44",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "671b14ffd0a9d92af2b30d3220b046934422307c9353f929f980f6042ce548c6": {
                "Name": "djangoenv",
                "EndpointID": "da589a787022042ed23ca33442fab05a8edaafaafe2c6e5fb69a727ee1092aaa",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            }
        },

這里可以看到后臺(tái)服務(wù)djangoenv的IP是172.17.0.3/16,將nginx配置文件default.conf中的127.0.0.1改為172.17.0.3

location ~/(api/|jira/) {
    # proxy_pass    http://192.168.119.70:8888;
    proxy_pass    http://172.17.0.3:8888;
    # proxy_pass    http://127.0.0.1:8888;
}

重啟nginx服務(wù)后,接口依舊不會(huì)報(bào)錯(cuò),這是屬于bridge網(wǎng)絡(luò)模式下容器之間互相通信的一種配置方式

docker restart docker_nginx

bridge模式

bridge 模式是 Docker 默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配 Network Namespace、設(shè)置 IP 等,并將一個(gè)主機(jī)上的 Docker 容器連接到一個(gè)虛擬網(wǎng)橋上。

當(dāng) Docker server 啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng) 建一個(gè)名為 docker0 的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的 Docker 容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的 工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過(guò)交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。

接下來(lái)就要 為容器分配 IP 了,Docker 會(huì)從 RFC1918 所定義的私有 IP 網(wǎng)段中,選擇一個(gè)和宿主機(jī)不同的IP地址和 子網(wǎng)分配給 docker0,連接到 docker0 的容器就從這個(gè)子網(wǎng)中選擇一個(gè)未占用的 IP 使用。

如一般 Docker 會(huì)使用 172.17.0.0/16 這個(gè)網(wǎng)段,并將 172.17.42.1/16 分配給 docker0 網(wǎng)橋(在主機(jī)上使用 ifconfig 命令是可以看到 docker0 的,可以認(rèn)為它是網(wǎng)橋的管理接口,在宿主機(jī)上作為一塊虛擬網(wǎng)卡使用)

host 模式

如果啟動(dòng)容器的時(shí)候使用 host 模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的 Network Namespace,而是和宿主機(jī)共用一個(gè) Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的 IP 等,而是使用宿主機(jī)的 IP 和端口。

例如,我們?cè)?10.10.101.105/24 的機(jī)器上用 host 模式啟動(dòng)一個(gè)含有 web 應(yīng)用的 Docker 容器,監(jiān)聽(tīng) tcp 80 端口。當(dāng)我們?cè)谌萜髦袌?zhí)行任何類似 ifconfig 命令查看網(wǎng)絡(luò)環(huán)境時(shí),看到的都是宿主機(jī)上的信 息。而外界訪問(wèn)容器中的應(yīng)用,則直接使用 10.10.101.105:80 即可,不用任何 NAT 轉(zhuǎn)換,就如直接跑 在宿主機(jī)中一樣。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。

container 模式

這個(gè)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè) Network Namespace,而不是和宿主機(jī)共享。新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個(gè)指定的容器共享 IP、端口范圍等。

同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。兩個(gè)容器的進(jìn)程可以通過(guò) lo 網(wǎng)卡設(shè)備通信。

none模式

這個(gè)模式和前兩個(gè)不同。在這種模式下,Docker 容器擁有自己的 Network Namespace,但是,并不為 Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說(shuō),這個(gè) Docker 容器沒(méi)有網(wǎng)卡、IP、路由等信息。需要我們自己為 Docker 容器添加網(wǎng)卡、配置 IP 等。

docker相關(guān)網(wǎng)絡(luò)命令

  • 查看所有docker網(wǎng)絡(luò) docker network ls
  • 創(chuàng)建網(wǎng)絡(luò) docker network create 網(wǎng)絡(luò)名
  • 查看網(wǎng)絡(luò)信息 docker network inspect 網(wǎng)絡(luò)名
  • 加入網(wǎng)絡(luò) docker network connect 網(wǎng)絡(luò)名 容器名
  • 移除網(wǎng)絡(luò) docker network remove 網(wǎng)絡(luò)名(當(dāng)前網(wǎng)絡(luò)下沒(méi)有掛載容器)
  • 移除網(wǎng)絡(luò)下的容器 docker network disconnect 網(wǎng)絡(luò)名 容器名

容器通信

容器通信可以采用的有四種方案:

  • 通過(guò)容器 IP 訪問(wèn):容器重啟后,IP 會(huì)發(fā)生變化,比較麻煩。
  • 通過(guò)宿主機(jī)的 ip:port 的方式訪問(wèn):如果宿主機(jī) IP 改變,就得每個(gè)應(yīng)用都得改一遍,并且還要綁定端口,麻煩。
  • 通過(guò) link 建立鏈接:相互依賴的太緊,不利于維護(hù)。
  • 自定義 network: 在同一個(gè)橋接網(wǎng)絡(luò)中的容器可以相互訪問(wèn),即使切換了宿主機(jī),也不影響,因?yàn)榭梢酝ㄟ^(guò)容器名來(lái)表示對(duì)方的IP。

通過(guò)容器 IP 訪問(wèn),作為寫(xiě)死的IP一旦容器重啟就失效了,因此只作為臨時(shí)調(diào)試方案。第二種 和第三種也太麻煩不用。

采用第四種自定義network方案,實(shí)現(xiàn)容器互相通信。采用的是bridge網(wǎng)絡(luò)驅(qū)動(dòng)模式,這個(gè)是docker默認(rèn)的網(wǎng)絡(luò)驅(qū)動(dòng)模式,安全性高,性能好。

1、首先創(chuàng)建自定義網(wǎng)絡(luò)

docker network create -d bridge mynetwork

默認(rèn)是bridge驅(qū)動(dòng)模式,所以也可以簡(jiǎn)寫(xiě)成

docker network create mynetwork

2、將將Nginx和Django后端項(xiàng)目容器加載到新網(wǎng)絡(luò)中,注意容器只能同時(shí)存在1個(gè)網(wǎng)絡(luò)中,即從默認(rèn)的網(wǎng)絡(luò)重新掛載到新建的網(wǎng)絡(luò)上。

docker network connect mynetwork docker_nginx

docker network connect mynetwork djangoenv

為了不受到bridge網(wǎng)絡(luò)下的影響,先移除在bridge驅(qū)動(dòng)模式網(wǎng)絡(luò)下的docker_nginxdjangoenv容器

docker network disconnect bridge docker_nginx

docker network disconnect bridge djangoenv

此時(shí)執(zhí)行docker exec-it docker_nginx bash 命令進(jìn)入docker_nginx容器,嘗試用后端的容器名進(jìn)行通信

curl http://djangoenv:8888/index.html

3、修改nginx配置文件,對(duì)server塊內(nèi)容進(jìn)行修改

location ~/(api/|jira/){
     proxy_pass     http://djangoenv:8888;
 }

重啟nginx服務(wù),接口依舊不會(huì)報(bào)錯(cuò),

docker restart docker_nginx

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Docker、Nginx和Jenkins實(shí)現(xiàn)前端自動(dòng)化部署

    基于Docker、Nginx和Jenkins實(shí)現(xiàn)前端自動(dòng)化部署

    本文主要介紹了搭建Docker+Nginx+Jenkins環(huán)境,用于實(shí)現(xiàn)前端自動(dòng)化部署的流程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解Docker Registry之刪除鏡像、垃圾回收

    詳解Docker Registry之刪除鏡像、垃圾回收

    本篇文章主要介紹了詳解Docker Registry之刪除鏡像、垃圾回收,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Docker容器連接實(shí)現(xiàn)步驟解析

    Docker容器連接實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Docker容器連接實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Ubuntu中Docker報(bào)錯(cuò)“Cannot?connect?to?the?Docker?daemon?at?unix:///var/run/docker.sock”錯(cuò)誤解決辦法

    Ubuntu中Docker報(bào)錯(cuò)“Cannot?connect?to?the?Docker?daemon?at

    這篇文章主要介紹了Ubuntu中Docker報(bào)錯(cuò)“Cannot?connect?to?the?Docker?daemon?at?unix:///var/run/docker.sock”錯(cuò)誤解決辦法的相關(guān)資料,這個(gè)問(wèn)題通常表示Docker?守護(hù)進(jìn)程未運(yùn)行或者當(dāng)前用戶沒(méi)有權(quán)限訪問(wèn)Docker守護(hù)進(jìn)程,需要的朋友可以參考下
    2026-04-04
  • docker終端中如何修改時(shí)區(qū)

    docker終端中如何修改時(shí)區(qū)

    解決Docker時(shí)區(qū)問(wèn)題需檢查容器是否包含Shanghai時(shí)區(qū)文件,若無(wú)則從主機(jī)復(fù)制,通過(guò)命令驗(yàn)證時(shí)區(qū)設(shè)置,確保正確,總結(jié)為個(gè)人經(jīng)驗(yàn),供他人參考
    2025-07-07
  • idea?連接遠(yuǎn)程?docker?并部署項(xiàng)目到?docker的過(guò)程

    idea?連接遠(yuǎn)程?docker?并部署項(xiàng)目到?docker的過(guò)程

    這篇文章主要介紹了idea連接遠(yuǎn)程docker并部署項(xiàng)目到docker,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • docker啟動(dòng)Nginx的兩種方式小結(jié)

    docker啟動(dòng)Nginx的兩種方式小結(jié)

    本文介紹了兩種獲取Nginx鏡像的方式:直接從DockerHub拉取和通過(guò)Dockerfile構(gòu)建,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • Docker配置國(guó)內(nèi)鏡像源方式

    Docker配置國(guó)內(nèi)鏡像源方式

    文章介紹了如何配置Docker的daemon文件以使用國(guó)內(nèi)鏡像源,加快鏡像拉取速度,同時(shí),也提供了macOS和Windows系統(tǒng)上的配置方法以及臨時(shí)使用鏡像源的示例
    2026-01-01
  • 利用 Docker 構(gòu)建簡(jiǎn)單的 java 開(kāi)發(fā)編譯環(huán)境的方法詳解

    利用 Docker 構(gòu)建簡(jiǎn)單的 java 開(kāi)發(fā)編譯環(huán)境的方法詳解

    這篇文章主要介紹了利用 Docker 構(gòu)建簡(jiǎn)單的 java 開(kāi)發(fā)編譯環(huán)境的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Docker安裝部署Mysql8的過(guò)程(以作數(shù)據(jù)持久化)

    Docker安裝部署Mysql8的過(guò)程(以作數(shù)據(jù)持久化)

    這篇文章主要介紹了Docker安裝部署Mysql8(以作數(shù)據(jù)持久化),首先創(chuàng)建容器并進(jìn)行持久化處理,接著配置遠(yuǎn)程連接并嘗試,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評(píng)論

平罗县| 贺州市| 静乐县| 古丈县| 广宁县| 高密市| 八宿县| 离岛区| 望奎县| 洛宁县| 荔波县| 榆树市| 盘山县| 武陟县| 通山县| 慈利县| 张家界市| 梨树县| 东海县| 宁阳县| 商河县| 罗定市| 潼关县| 渝北区| 武胜县| 屯昌县| 江都市| 阳泉市| 呼图壁县| 靖宇县| 伊通| 平顶山市| 乐清市| 孟连| 汉寿县| 德兴市| 奇台县| 南丹县| 晋城| 通江县| 廊坊市|