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

使用docker部署django的詳細(xì)步驟

 更新時(shí)間:2022年08月21日 09:21:19   作者:流離幻影  
當(dāng)用Django框架開(kāi)發(fā)的網(wǎng)站項(xiàng)目完成后上線的話可以用物理主機(jī)、虛擬機(jī)來(lái)部署,也可以容器,下面這篇文章主要給大家介紹了關(guān)于使用docker部署django的詳細(xì)步驟,需要的朋友可以參考下

docker概念

docker是一種容器技術(shù),用來(lái)創(chuàng)造獨(dú)立的軟件容器,屬于操作系統(tǒng)的虛擬化技術(shù),隔離的進(jìn)程獨(dú)立于宿主和其他隔離的進(jìn)程。

docker容器對(duì)比虛擬機(jī)

虛擬機(jī):需要有必要的二進(jìn)制庫(kù)和完整的操作系統(tǒng),并且占據(jù)所有預(yù)分配的資源。

docker容器:與宿主共享操作系統(tǒng),可以實(shí)現(xiàn)資源的動(dòng)態(tài)分配,在用戶空間以分離的進(jìn)程運(yùn)行

docker鏡像、容器和倉(cāng)庫(kù)

鏡像是文件,容器是進(jìn)程;他們之間的關(guān)系像是類和實(shí)例化對(duì)象的關(guān)系,一個(gè)類可以有多個(gè)實(shí)例化對(duì)象。而倉(cāng)庫(kù)是一個(gè)其中的存儲(chǔ)、分發(fā)鏡像的服務(wù)。docker pull是從倉(cāng)庫(kù)下載docker鏡像到本地,docker run是創(chuàng)建一個(gè)容器并運(yùn)行一個(gè)命令,docker exec -it是在運(yùn)行的容器中執(zhí)行命令

docker安裝

根據(jù)自己的系統(tǒng)選擇安裝方式docker安裝

docker使用

1.簡(jiǎn)單嘗試:使用docker pull nginx:latest下載一個(gè)最新的nginx鏡像。

2.使用命令docker run --name my-nginx -p 80:80 -d nginx:latest,創(chuàng)建一個(gè)容器,命令為my-nginx,-d表示后臺(tái)運(yùn)行并返回容器的ID,-p將端口指定到宿主的80端口。打開(kāi)瀏覽器訪問(wèn)80端口

image-20220330194222445

3.使用命令docker exec -it my-nginx bash開(kāi)啟一個(gè)交互模式終端

其中第一步不是必須,在執(zhí)行docker run命令時(shí)找不到鏡像時(shí)會(huì)自動(dòng)從倉(cāng)庫(kù)拉取

docker常見(jiàn)命令

命令作用
docker pull從倉(cāng)庫(kù)下載鏡像
docker images查看所有本地鏡像
docker rmi刪除鏡像
docker run創(chuàng)建容器并執(zhí)行命令
docker rm刪除容器
docker stop停止容器,同理還有restart、start
docker logs查看容器日志
docker exec bash進(jìn)入容器中執(zhí)行其他命令

單容器部署最基本的django

嘗試部署最基本的django項(xiàng)目

創(chuàng)建django項(xiàng)目

命令行輸入django-admin startproject mysite,進(jìn)入創(chuàng)建的django文件夾中我們可以看見(jiàn)整個(gè)項(xiàng)目結(jié)構(gòu)

image-20220401145201527

此時(shí)我需要在項(xiàng)目根目錄下創(chuàng)建Dockerfile文件,該文件用于生成docker鏡像,內(nèi)容如下

# 建立 python3.7 環(huán)境
FROM python:3.7

# 鏡像作者
MAINTAINER LALALA

# 設(shè)置 python 環(huán)境變量
ENV PYTHONUNBUFFERED 1

# 設(shè)置pip源為國(guó)內(nèi)源
COPY pip.conf /root/.pip/pip.conf

# 在容器內(nèi)創(chuàng)建mysite文件夾
RUN mkdir -p /var/www/html/mysite

# 設(shè)置容器內(nèi)工作目錄
WORKDIR /var/www/html/mysite

# 將當(dāng)前目錄文件加入到容器工作目錄中(. 表示當(dāng)前宿主機(jī)目錄)
ADD . /var/www/html/mysite

# pip安裝依賴
RUN pip install -r requirements.txt

繼續(xù)在項(xiàng)目根目錄下創(chuàng)建pip.conf文件,用于修改pip鏡像源

[global] 
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

最后創(chuàng)建requirements.txt文件,因?yàn)橹恍枰猟jango,只需要安裝django即可

Django==3.2.12

項(xiàng)目?jī)?nèi)容設(shè)置完后,在項(xiàng)目根目錄輸入命令docker build -t django_docker_img:v1 .創(chuàng)建鏡像,使用命令docker images查看鏡像,可以看見(jiàn)剛剛創(chuàng)建的鏡像

image-20220401150724834

Dockerfile中第一行是from python:3.7,也就是在創(chuàng)建過(guò)程中會(huì)從docker倉(cāng)庫(kù)中拉取python:3.7的鏡像,速度過(guò)慢的話請(qǐng)修改你的docker鏡像源,可以直接在docker界面處修改,https://b2bk1nge.mirror.aliyuncs.com

image-20220401151437077

輸入命令docker run -it -d -p 80:8000 --name mysite django_docker_img:v1創(chuàng)建并運(yùn)行容器,此命名將該容器映射到本地80端口,使用docker ps查看運(yùn)行情況。然后使用命令docker exec -it mysite bash進(jìn)入容器內(nèi)部,會(huì)發(fā)現(xiàn)此刻處于Dockerfile中設(shè)置的工作目錄,該目錄下內(nèi)容即為項(xiàng)目文件內(nèi)容,pip已安裝requirement.txt中的依賴

image-20220401153656137

最后在容器的bash中執(zhí)行下面命令,完成數(shù)據(jù)庫(kù)遷移和運(yùn)行django項(xiàng)目

python manage.py makemigrations
python manage.py migrate
python manage.py runserver 0.0.0.0:8000 # 務(wù)必寫(xiě)0.0.0.0,如果是127.0.0.1是容器的環(huán)回地址,會(huì)導(dǎo)致在宿主機(jī)中無(wú)法訪問(wèn)

此時(shí)在瀏覽器中訪問(wèn)http://127.0.0.1/可以看到運(yùn)行的django項(xiàng)目

image-20220401154245955

小結(jié)

本篇文章主要是嘗試性的使用docker來(lái)部署項(xiàng)目,學(xué)習(xí)過(guò)程中也是踩了一些坑,目前來(lái)看使用docker安裝鏡像很方便,之前在安裝需要的軟件時(shí),往往會(huì)遇上各種各樣的小bug,而使用docker后只需要簡(jiǎn)單地拉取鏡像創(chuàng)建容器,兩行命令解決所有煩惱。

相關(guān)文章

  • Docker如何實(shí)現(xiàn)離線安裝

    Docker如何實(shí)現(xiàn)離線安裝

    文章介紹了如何在離線環(huán)境中安裝Docker,并將其注冊(cè)為系統(tǒng)服務(wù),主要內(nèi)容包括下載Docker二進(jìn)制文件、上傳到服務(wù)器、解壓安裝包、配置系統(tǒng)服務(wù)以及驗(yàn)證安裝是否成功
    2024-11-11
  • Docker容器搭建并運(yùn)行實(shí)現(xiàn)過(guò)程詳解

    Docker容器搭建并運(yùn)行實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了Docker容器搭建并運(yùn)行實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • docker pull/build失敗設(shè)置國(guó)內(nèi)鏡像源的問(wèn)題

    docker pull/build失敗設(shè)置國(guó)內(nèi)鏡像源的問(wèn)題

    這篇文章主要介紹了docker pull/build失敗設(shè)置國(guó)內(nèi)鏡像源的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • docker搭建Zookeeper集群的方法步驟

    docker搭建Zookeeper集群的方法步驟

    本文主要介紹了docker搭建Zookeeper集群的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • docker容器如何指定utf-8編碼

    docker容器如何指定utf-8編碼

    這篇文章主要介紹了docker容器如何指定utf-8編碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 如何查看docker容器的內(nèi)存占用

    如何查看docker容器的內(nèi)存占用

    這篇文章主要介紹了如何查看docker容器的內(nèi)存占用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • docker安裝Portainer CE的實(shí)現(xiàn)示例

    docker安裝Portainer CE的實(shí)現(xiàn)示例

    Portainer是一款易用的開(kāi)源容器管理工具,適合各級(jí)經(jīng)驗(yàn)的Docker用戶,它提供直觀的UI,方便管理、部署和監(jiān)控容器,本文就來(lái)介紹一下docker安裝Portainer CE的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-09-09
  • 三臺(tái)機(jī)器使用Docker部署Redis集群方式

    三臺(tái)機(jī)器使用Docker部署Redis集群方式

    這篇文章主要介紹了三臺(tái)機(jī)器使用Docker部署Redis集群方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker如何解決tomcat容器啟動(dòng)成功,無(wú)法訪問(wèn)的問(wèn)題

    Docker如何解決tomcat容器啟動(dòng)成功,無(wú)法訪問(wèn)的問(wèn)題

    這篇文章主要介紹了Docker如何解決tomcat容器啟動(dòng)成功,無(wú)法訪問(wèn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker構(gòu)建pinpoint部署的方法

    Docker構(gòu)建pinpoint部署的方法

    這篇文章主要介紹了Docker構(gòu)建pinpoint部署的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論

马公市| 浠水县| 翼城县| 鄂温| 盐城市| 曲松县| 江永县| 平昌县| 东辽县| 平和县| 万宁市| 墨竹工卡县| 靖宇县| 西乌珠穆沁旗| 武强县| 满洲里市| 武强县| 淮阳县| 漳州市| 宁国市| 年辖:市辖区| 山西省| 锡林浩特市| 如东县| 徐州市| 安乡县| 岚皋县| 高要市| 普宁市| 和田市| 航空| 乡城县| 上蔡县| 扎赉特旗| 宕昌县| 资中县| 安陆市| 大庆市| 东宁县| 佛山市| 昌江|