日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

使用docker部署django的詳細步驟_docker

作者:流離幻影 ? 更新時間: 2022-10-17 編程語言

docker概念

docker是一種容器技術,用來創造獨立的軟件容器,屬于操作系統的虛擬化技術,隔離的進程獨立于宿主和其他隔離的進程。

docker容器對比虛擬機

虛擬機:需要有必要的二進制庫和完整的操作系統,并且占據所有預分配的資源。

docker容器:與宿主共享操作系統,可以實現資源的動態分配,在用戶空間以分離的進程運行

docker鏡像、容器和倉庫

鏡像是文件,容器是進程;他們之間的關系像是類和實例化對象的關系,一個類可以有多個實例化對象。而倉庫是一個其中的存儲、分發鏡像的服務。docker pull是從倉庫下載docker鏡像到本地,docker run是創建一個容器并運行一個命令,docker exec -it是在運行的容器中執行命令

docker安裝

根據自己的系統選擇安裝方式docker安裝

docker使用

1.簡單嘗試:使用docker pull nginx:latest下載一個最新的nginx鏡像。

2.使用命令docker run --name my-nginx -p 80:80 -d nginx:latest,創建一個容器,命令為my-nginx,-d表示后臺運行并返回容器的ID,-p將端口指定到宿主的80端口。打開瀏覽器訪問80端口

image-20220330194222445

3.使用命令docker exec -it my-nginx bash開啟一個交互模式終端

其中第一步不是必須,在執行docker run命令時找不到鏡像時會自動從倉庫拉取

docker常見命令

命令 作用
docker pull 從倉庫下載鏡像
docker images 查看所有本地鏡像
docker rmi 刪除鏡像
docker run 創建容器并執行命令
docker rm 刪除容器
docker stop 停止容器,同理還有restart、start
docker logs 查看容器日志
docker exec bash 進入容器中執行其他命令

單容器部署最基本的django

嘗試部署最基本的django項目

創建django項目

命令行輸入django-admin startproject mysite,進入創建的django文件夾中我們可以看見整個項目結構

image-20220401145201527

此時我需要在項目根目錄下創建Dockerfile文件,該文件用于生成docker鏡像,內容如下

# 建立 python3.7 環境
FROM python:3.7

# 鏡像作者
MAINTAINER LALALA

# 設置 python 環境變量
ENV PYTHONUNBUFFERED 1

# 設置pip源為國內源
COPY pip.conf /root/.pip/pip.conf

# 在容器內創建mysite文件夾
RUN mkdir -p /var/www/html/mysite

# 設置容器內工作目錄
WORKDIR /var/www/html/mysite

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

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

繼續在項目根目錄下創建pip.conf文件,用于修改pip鏡像源

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

最后創建requirements.txt文件,因為只需要django,只需要安裝django即可

Django==3.2.12

項目內容設置完后,在項目根目錄輸入命令docker build -t django_docker_img:v1 .創建鏡像,使用命令docker images查看鏡像,可以看見剛剛創建的鏡像

image-20220401150724834

Dockerfile中第一行是from python:3.7,也就是在創建過程中會從docker倉庫中拉取python:3.7的鏡像,速度過慢的話請修改你的docker鏡像源,可以直接在docker界面處修改,https://b2bk1nge.mirror.aliyuncs.com

image-20220401151437077

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

image-20220401153656137

最后在容器的bash中執行下面命令,完成數據庫遷移和運行django項目

python manage.py makemigrations
python manage.py migrate
python manage.py runserver 0.0.0.0:8000 # 務必寫0.0.0.0,如果是127.0.0.1是容器的環回地址,會導致在宿主機中無法訪問

此時在瀏覽器中訪問http://127.0.0.1/可以看到運行的django項目

image-20220401154245955

小結

原文鏈接:https://blog.csdn.net/qq_43606857/article/details/123900218

欄目分類
最近更新