1. 程式人生 > >Python3.6 使用 Docker 快速部署 Django2.0 專案到阿里雲伺服器上

Python3.6 使用 Docker 快速部署 Django2.0 專案到阿里雲伺服器上

一、前言

二、常規操作

預設你已經安裝好 docker

2.1.示例專案基本結構

其實是使用 PyCharm 剛剛建立的 Django 空專案
這裡寫圖片描述

2.2.dockerfile

FROM python:3.6 這裡指定 Python 版本為目前穩定的 python3.6
"0.0.0.0:8080" 這裡筆者開啟容器中 8080 埠,下面開啟容器就就要對映到這個埠

FROM python:3.6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY pip.conf /root/.pip/pip.conf
COPY requirements.txt
/usr/src/app/ RUN pip install -r /usr/src/app/requirements.txt RUN rm -rf /usr/src/app COPY . /usr/src/app CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8080"]

2.3.pip conf

這裡是為了使用映象 pip install 相關依賴,速度快的起飛

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

2.4.requirements.txt

Django==2.0.7
pytz==2018.5

這裡看到有些網友手動去去寫,其實沒有必要,使用如下命令即可生成到專案中

pip3 freeze > requirements.txt

2.5.上傳專案到雲伺服器(Centos7)

這裡強調一點:虛擬環境不必加進去
因為 docker 會自動去下載依賴
而且虛擬環境佔用 100M+- 的空間,上傳的時間夠等 5+ 分鐘
這裡寫圖片描述

2.6.伺服器docker操作

1.生成映象:到了專案和 dockerfile 同一級的目錄,也就是上圖的目錄
(注意後面的 . 不要省略)

docker build -t my-python
-app .

2.開啟容器:
這裡的 8080 由上面的 dockerfile 決定
這裡的 120.79.197.130 為自己伺服器公網 ip 地址

# http://120.79.197.130:8080
docker run -it --rm -p 8080:8080 --name djapp my-python-app:latest
# 或者 http://120.79.197.130:8000(埠號隨意對映,但要注意開啟對應安全組)
docker run -it --rm -p 8000:8080 --name djapp my-python-app:latest

2.7.效果

三、其他

使用 dockerfile buid 映象的時候,映象大小動不動就 800+ M,漫長的等待,使筆者切身感受到使用國內映象下載相關依賴的重要性。
雲伺服器主要為騰訊雲、阿里雲,這裡介紹兩種方案

3.1.騰訊雲

使用的 centos 伺服器
這是最簡單的,執行如下命令即可

#使用騰訊雲dockerhub加速器適用於 Centos7 版本。

#修改 Docker 配置檔案
vi /etc/sysconfig/docker

OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'
systemctl restart docker

3.2.阿里雲

3.2.1.獲取加速地址

1、先進入阿里雲開發者平臺
2、點選管理中心
這裡寫圖片描述

3.2.2.修改 centos 的配置

cd /etc/docker/
vi daemon.json
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] # 填2.1中獲取的地址
}
#重新載入daemon
systemctl daemon-reload
#重啟docker生效
systemctl restart docker

如:
這裡寫圖片描述
vi
這裡寫圖片描述

四、問題

無法訪問
修改 settings.py,允許其他 ip 訪問

ALLOWED_HOSTS = ["*"]

五、參考文章

相關推薦

Python3.6 使用 Docker 快速部署 Django2.0 專案阿里伺服器

一、前言 二、常規操作 預設你已經安裝好 docker 2.1.示例專案基本結構 其實是使用 PyCharm 剛剛建立的 Django 空專案 2.2.dockerfile FROM python:3.6 這裡指定 Python

ubuntu環境下Apache2部署django2.0專案及問題解答

關於使用阿帕奇部署django專案的帖子網上有很多,但是部署時還是還有錯誤,那麼我把易錯點進一步總結,方便大家部署,這裡我才用本機部署,線上部署是一樣的原理 準備階段: 1.環境:ubuntu+python3.5.2+django2.0 2.準備一個寫好的django專案,通過命令pyt

部署java-web專案到linux伺服器

記錄自己部署javaweb專案的基本操作以及遇到的坑 我用的是eclipse,匯出war包。 (這裡有個巨坑,eclipse有專案快取,所以你改的東西可能沒有用,tomcat伺服器也有快取,所以匯出的時候記得清一下快取) 在linux伺服器上安裝配置tomcat伺服器,把

laravel專案使用appnode部署linux系統到阿里伺服器流程記錄(待補充)

使用 SSH 連線工具,如 PuTTY、XShell、SecureCRT 等,連線 Linux 伺服器後(阿里雲伺服器命令列內直接輸入appnode安裝命令,版本:mysql選5.7、php選7.2),安裝appnode 在阿里雲安全組中開啟需要的埠,如appnode的8888、redis6379、

阿里伺服器快速搭建JavaWeb環境(安裝JDK、Tomcat、MySQL)+Intellij IDEA遠端部署除錯tomcat

首先介紹一下我的的伺服器的系統是Ubuntu 16.04 64位 ide用了Intellij IDEA JDK8 Tomcat8 MySQL5.7 一、先下載JDK 8 1、JDK8 # sudo apt-get install openjdk-8

阿里伺服器部署tomcat,並進行訪問測試

    要求將一個專案部署到新買的阿里雲伺服器上。使用xshell遠端連線(連線使用的ip是例項的公網ip)。     在部署配置tomcat之前首先進行JDK的部署,先說明一下,我使用的CentOS7.4.     選擇JDK1.

DOCKER 建立 配置 執行 NGINX 環境(阿里伺服器)

1. 拉取nginx #拉取nginx的最新穩定版 sudo docker pull nginx 2.Docker建立Nginx容器並執行 #1.對映埠 80:80 ===>443:443 埠 #2.配置資料儲存路徑 /opt/nginx/conf.d :/etc/nginx/c

使用Travis自動部署前端頁面到阿里伺服器

使用GitHub管理程式碼,寫完之後經常需要打包部署到阿里雲伺服器,於是開始學習使用travis CI。 中間過程參考如下 持續整合服務 Travis CI 教程 http://www.ruanyifeng.com/blog/2017/12/travis_ci_tutorial.ht

本地執行springboot專案的jar包或阿里伺服器導致,no main異常Exception in thread "main" java.lang.ClassNotFoundException

執行打好的jar包,出現如下異常 首先開啟打好的jar包,出現如下目錄 開啟META-INF目錄,中的MANIFEST.MF檔案,如下 中是否有如下的路徑,Start-Class,如果有,確保是全限定名+啟動類嘛 例如我異常時的Start-Class路徑為

Linux學習2-在阿里伺服器部署禪道環境

前言 以前出去面試總會被問到:測試環境怎麼搭建?剛工作1-2年不會搭建測試環境還可以原諒自己,工作3-5年後如果還是對測試環境搭建一無所知,面試官會一臉的鄙視。 本篇以最簡單的禪道環境搭建為例,學習下如何在Linux上搭建禪道環境。 環境準備: 1.一臺Linux伺服器, 作業系統: CentOS 7.4

Mxonline在阿里伺服器部署(uwsgi nginx)

我的專案結構     1. 執行`python manage.py migrate`命令,將遷移檔案,對映到資料庫中,建立相應的表。 進入資料庫 use mxonline資料庫     source /home/Mxo

釋出在阿里伺服器專案如何連線資料庫

1.首先需要申請雲資料庫的外網地址2.在右上角的白名單裡新增雲伺服器的外網地址注:如果想用本地的Navicat連線資料庫還需要在白名單新增本地的IP註冊一個雲資料庫賬號,然後就可以用這個賬號進行連線資料庫了把配置檔案裡的localhost改成申請的外網地址,  root和ad

解決在阿里伺服器部署Tomcat外網不能訪問

問題:在阿里雲伺服器上部署了Tomcat,修改了一下三處重新部署Tomcat外網還是不能訪問解決辦法:進入阿里雲伺服器管理控制檯->雲伺服器ECS->安全組,如下圖所示新增配置和Tomcat

阿里伺服器安裝MySQL 5.6資料庫(阿里伺服器配置MySQL資料庫,第二步)

2、安裝MySQL 5.6(我的安裝路徑D:\MySQL\MySQL Server 5.6)3、在MySQL安裝完成以後,需要配置環境變數,電腦--屬性--高階--環境變數  選擇Path,在其後新增你的MySQL bin資料夾的路徑(PATH=...;D:\MySQL\My

docker 安裝MySQL遠端連線(阿里伺服器

1. 下載Mysql的Docker映象:$ docker search mysql (搜尋mysql映象)  $ docker pull mysql (下載mysql映象,預設最新版本)  2. 執行映象,設定root賬號初始密碼(123456),對映本地宿主機埠3306到Docker埠3306。測試過程沒有

阿里伺服器一次Spring Boot工程的簡單部署

我最近在阿里雲上釋出一個網站,沒有配置Jenkins環境,所以釋出我都用手動的方式去完成。 這裡我是在本機打好了jar包,然後將Spring Boot的jar包通過scp傳送到伺服器,確保專案中配置的

阿里伺服器部署war包

1 :購買阿里雲伺服器,學生還能優惠,因為覺得自己對Linux不是特別熟,又怕自己搞不定它失去學習興趣,所以我選擇了windows版本的,開始部署以後就賊後悔 2 :伺服器就相當於另外的一臺電腦,想要

阿里伺服器部署tomcat7

一:在官網下載Tomcat 二:將Tomcat壓縮好的檔案上傳到你要放置的目錄 三:最重要的一點,配置環境(上面兩步都比較簡單,就不詳寫了) [[email protected] tomcat7]# cd ~ [[email protected] ~]#

將javaweb專案釋出到阿里伺服器

1.首先將專案匯出為.war檔案 2.在伺服器上安裝配置jdk,tomcat,mysql 3.將匯出的war檔案放到tomcat目錄下的webapps下,然後回到tomcat的bin目錄下,點選start,啟動tomcat 服務 4.最後在瀏覽器上輸入你的阿里雲伺服

windows 下通過apache2.4 部署django2.0.4專案(小專案或測試學習)

#宣告:我說是原創不一定是原創,你們誰發現我盜了,跟我留言。tks.#能力有限,掉坑裡爬了老久才爬出來。視訊教程看N遍...不說了,說多了就是血淚!!(為自己備份記憶)《持續更新》先說重點(大家都知道瀏覽器只能對字串進行識別,所以web服務返回的都是字串,隨著瀏覽器功能增加,