溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker怎么部署fastapi

發(fā)布時(shí)間:2023-03-02 14:22:45 來源:億速云 閱讀:106 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了docker怎么部署fastapi的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇docker怎么部署fastapi文章都會有所收獲,下面我們一起來看看吧。

項(xiàng)目結(jié)構(gòu):

pycharm結(jié)構(gòu):

docker怎么部署fastapi

拷貝到xftp時(shí)的結(jié)構(gòu) 

docker怎么部署fastapi

入口文件:main.py

from fastapi import FastAPI
 
app = FastAPI()
 
 
@app.get("/index", name="歡迎首頁")
async def index():
    return {"msg": "歡迎來到SayHello!"}

項(xiàng)目依賴:

使用命令可以直接在根目錄生成requirements.txt文件

pip freeze > requirements.txt

requirements.txt 內(nèi)容如下

aiofiles==0.5.0
aniso8601==7.0.0
async-exit-stack==1.0.1
async-generator==1.10
certifi==2021.5.30
charset-normalizer==2.0.3
click==7.1.2
colorama==0.4.4
dnspython==2.1.0
email-validator==1.1.3
fastapi==0.67.0
graphene==2.1.9
graphql-core==2.3.2
graphql-relay==2.0.1
h21==0.12.0
idna==3.2
itsdangerous==1.1.0
Jinja2==2.11.3
MarkupSafe==2.0.1
orjson==3.6.0
pip==21.2.1
promise==2.3
pydantic==1.8.2
python-dotenv==0.19.0
python-multipart==0.0.5
PyYAML==5.4.1
requests==2.26.0
Rx==1.6.1
setuptools==57.4.0
six==1.16.0
starlette==0.14.2
typing-extensions==3.10.0.0
ujson==4.0.2
urllib3==1.26.6
uvicorn==0.13.4
watchgod==0.7
websockets==8.1

Dockerfile:

FROM python:3.9.5
COPY . /app
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
WORKDIR ./app
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
EXPOSE 8080
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]

xshell進(jìn)入項(xiàng)目文件列表路徑

構(gòu)建鏡像文件(命令結(jié)尾的小點(diǎn)“.” 別忘記了)

docker build -t 項(xiàng)目名稱 .

構(gòu)建成功后運(yùn)行容器即可:

docker run -d --name 新取的容器名稱 -p 8000:80 剛剛構(gòu)建的鏡像名稱

關(guān)于“docker怎么部署fastapi”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“docker怎么部署fastapi”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI