Docker上部署FastApi的示例代碼
1 文件上傳與新建目錄
新建以下目錄,其中.py文件是自己上傳的
文件目錄
新建以下文件
2 修改requirements.txt文件
這里面寫的是運行程序所需要的py包,比如你用到了httpx包就在里面加上這個,用到什么加什么就可以了。以下我的實例
httpx fastapi[all]
3 修改Dockerfile.txt文件
這里面主要是寫入的運行時的配置信息
# 引入python版本 FROM python:3.8 # 設(shè)置時間 RUN ln -sf /usr/share/zoneinfo/Asia/Beijing/etc/localtime # 輸出時間 RUN echo 'Asia/Beijing' >/etc/timezone # 設(shè)置工作目錄 WORKDIR /code # 復(fù)制該文件到工作目錄中,./requirements.txt表示當(dāng)前目錄下的requirements.txt文件。這里 # 的/code/requirements.txt是docker內(nèi)部自動生成的工作目錄,不用自己創(chuàng)建的,請注意。 COPY ./requirements.txt /code/requirements.txt # 禁用緩存并批量安裝包(后面的鏈接是利用豆瓣源安裝,速度會加快) RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt -i https://pypi.douban.com/simple/ # 復(fù)制代碼到工作目錄 COPY ./app /code/app # 放開端口 EXPOSE 8001 # 命令行運行,啟動uvicorn服務(wù),指定ip和端口(--reload:讓服務(wù)器在更新代碼后重新啟動。僅在開發(fā)時使用該選項。) CMD ["uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "8001"]
你只需要更改這些位置即可。
1 ExPOSE 你的端口號
2 其中main為py的入口文件
4 打包成鏡像
docker build -t 鏡像名 .
實例:
docker build -t my_fast_sql .
5 運行啟動
docker run -d --name 鏡像名 -p 你的服務(wù)器端口:你的docker端口 容器名
實例
docker run -d --name my_fast_sql -p 8001:8001 my_s_f
6 查看運行狀態(tài)與日志
docker ps docker logs 你的容器id
到此這篇關(guān)于Docker上部署FastApi的示例代碼的文章就介紹到這了,更多相關(guān)Docker部署FastApi內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在 docker 之間導(dǎo)出導(dǎo)入鏡像的方法
本篇文章主要介紹了在 docker 之間導(dǎo)出導(dǎo)入鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07使用Docker搭建MySQL數(shù)據(jù)庫服務(wù)的方法詳解
在現(xiàn)代應(yīng)用程序開發(fā)中,使用數(shù)據(jù)庫是必不可少的,文將介紹如何使用Docker搭建MySQL數(shù)據(jù)庫服務(wù),讓你在本地環(huán)境中快速部署一個MySQL實例,感興趣的可以了解下2024-03-03docker --link容器互聯(lián)的實現(xiàn)
–link可以通過容器名互相通信,容器間共享環(huán)境變量,本文主要介紹了docker --link容器互聯(lián)的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Docker方式啟動tomcat訪問首頁出現(xiàn)404錯誤
這篇文章主要介紹了Docker方式啟動tomcat訪問首頁出現(xiàn)404錯誤。文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12如何使用Docker部署Go Web應(yīng)用的實現(xiàn)
這篇文章主要介紹了如何使用Docker部署Go Web應(yīng)用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11容器化技術(shù)架構(gòu)jenkins?docker?k8s腳本淺析
本篇博文不是詳細介紹容器技術(shù)的,而是具體的實踐。此篇博文分為兩個階段,分別是ci,cd。包含三部分內(nèi)容,分別是jenkins,docker,k8s的腳本淺析2022-03-03