欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將本地Python項目打包成docker鏡像上傳到服務(wù)器并在docker中運行

 更新時間:2023年12月08日 11:17:22   作者:安替-AnTi  
Docker是一個開源項目,為開發(fā)人員和系統(tǒng)管理員提供了一個開放平臺,可以將應(yīng)用程序構(gòu)建、打包為一個輕量級容器,并在任何地方運行,這篇文章主要給大家介紹了關(guān)于將本地Python項目打包成docker鏡像上傳到服務(wù)器并在docker中運行的相關(guān)資料,需要的朋友可以參考下

Docker環(huán)境

創(chuàng)建虛擬環(huán)境

虛擬環(huán)境可以搭建獨立的Python運行環(huán)境,使得單個項目的運行環(huán)境與其他項目互不影響。

安裝完成之后,便可以直接創(chuàng)建虛擬環(huán)境了,使用命令virtualenv env1進行創(chuàng)建

C:\Users\china>virtualenv env1
Using base prefix 'c:\\program files\\python36'
New python executable in C:\Users\china\env1\Scripts\python.exe
Installing setuptools, pip, wheel...done.

其中activate.bat文件,表示激活虛擬環(huán)境。進入到Scripts目錄,在該目錄下輸入activate.bat命令,即可激活Python虛擬環(huán)境.

退出虛擬環(huán)境

在當(dāng)前目錄下輸入命令deactivate.bat即可

pycharm使用虛擬環(huán)境

1、打開Pycharm,然后依次點擊左上方的file->Settings

2、之后依次Project->Project Interpreter,使用虛擬環(huán)境的python解釋器,下載需要的包,環(huán)境進行隔離。

準備打包

1.創(chuàng)建好虛擬環(huán)境后,在項目中創(chuàng)建一個hello.py,內(nèi)容簡單寫一些

2.將項目依賴庫進行導(dǎo)出,使用pip freeze > requirements.txt命令

我們在虛擬環(huán)境中下載好代碼需要的包之后,將依賴庫進行導(dǎo)出,會生成requirements.txt文件,里面保存的是包環(huán)境

如果python的版本和包的版本存在沖突,可以將requirements.txt中包的版本去掉,這樣就會自動下載對應(yīng)的包

3.在桌面上新建一個文件夾,文件夾內(nèi)容如下

4.app中的內(nèi)容其實就是Python項目根目錄以及子目錄文件,直接將新建的hello.py放到app目錄下

5.編寫Dockerfile,創(chuàng)建一個文件叫Dockerfile,內(nèi)容如下:

最好是先執(zhí)行pip install -r requirements.txt -i https://pypi.douban.com/simple/命令,確認無誤,再編寫Dockerfile文件

#基于的基礎(chǔ)鏡像
FROM python:3.7.9
#代碼添加當(dāng)前目錄所有內(nèi)容到code文件夾
ADD . /code
# 設(shè)置code文件夾是工作目錄
WORKDIR /code
# 安裝支持
RUN pip install -r requirements.txt -i https://pypi.douban.com/simple/
CMD ["python", "./app/predict/select_data_combine.py"]

6.執(zhí)行docker build -t hello-test .這里注意,hello-test后面有一個點,這里的hello-test是鏡像的名稱,隨意命名

7.執(zhí)行docker run -it hello-test,可以看到輸入了請求百度返回的HTML信息和我在hello.py文件中打印的Hello Docker~

保存為鏡像文件

docker save ubuntu>ubuntu.tar

保存Ubuntu為ubuntu.tar文件

拆分文件、合并文件

如何文件較大傳輸耗時,可以切割文件,分詞傳輸,再合并文件即可。

split -b 500m log.txt newfile #切分文件log.txt,按照500MB進行切分
cat newfile* > orifile #合格文件為整個

加載鏡像文件

docker load -i redis5014.tar

解壓鏡像文件,查看鏡像

docker images

找到對應(yīng)的鏡像,執(zhí)行鏡像

docker run -it 鏡像ID

啟動容器

先查看容器是否開啟

docker ps

如果發(fā)現(xiàn)未開啟,顯示所有容器

docker ps -a

開啟指定的容器

docker start 容器ID

開啟容器失敗,按照如下操作:

docker exec -it 6198ef53d943 bash
Error response from daemon: Container 6198ef53d9431a3f38e8b38d7869940f7fb803afac4a2d599812b8e42419c574 is not running

docker commit 6198ef53d943
sha256:ace7ca65e6e3fdb678d9cdfb33a7a165c510e65c3bc28fecb960ac993c37ef33

docker run -it ace7ca65e6e bash
root@72d38a8c787d:/#

進入容器

sudo docker exec -it 容器ID bash

退出容器

exit

復(fù)制物理路徑到容器指定路徑

將本地文件復(fù)制到docker容器中

docker cp 本地文件路徑 容器ID/容器NAME:容器內(nèi)路徑
docker cp /Users/wuhanxue/Downloads/rabbitmq_delayed_message_exchange-3.9.0.ez 1faca6a70742:/opt/rabbitmq/plugins

或者

docker cp /Users/wuhanxue/Downloads/rabbitmq_delayed_message_exchange-3.9.0.ez rabbit:/opt/rabbitmq/plugins

完整語句

sudo docker run -it -v /home/ubuntu/anti/docker_test:/code 2286df316633 /bin/bash

刪除鏡像、容器

刪除鏡像

直接刪除鏡像

docker rmi 鏡像ID

強制刪除鏡像

docker rmi -f image_id

刪除容器

刪除容器

docker rm 容器ID

如果刪除不掉,先關(guān)閉容器,再刪除

docker stop 容器ID

強制刪除容器

docker rm -f container_id

優(yōu)雅地刪除鏡像的最佳做法是:先停止容器,再刪除容器,最后刪除鏡像。

優(yōu)雅地刪除容器的最佳做法是:先停止容器,再刪除容器。

參考文獻

  • https://www.cnblogs.com/xiao-apple36/p/12810941.html
  • https://blog.csdn.net/songlh1234/article/details/110400673
  • https://stackoverflow.com/questions/29599632/container-is-not-running
  • https://blog.csdn.net/u014282578/article/details/127866389

總結(jié)

到此這篇關(guān)于將本地Python項目打包成docker鏡像上傳到服務(wù)器并在docker中運行的文章就介紹到這了,更多相關(guān)Python打包成docker鏡像上傳服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3 實現(xiàn)一行輸入,空格隔開的示例

    python3 實現(xiàn)一行輸入,空格隔開的示例

    今天小編就為大家分享一篇python3 實現(xiàn)一行輸入,空格隔開的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python判斷是否json是否包含一個key的方法

    Python判斷是否json是否包含一個key的方法

    今天小編就為大家分享一篇Python判斷是否json是否包含一個key的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python利用PyMuPDF模塊實現(xiàn)快速轉(zhuǎn)換PDF文件

    Python利用PyMuPDF模塊實現(xiàn)快速轉(zhuǎn)換PDF文件

    PDF是一種廣泛使用的文件格式,可以在任何設(shè)備上查看和打印,那么如何用Python和PyMuPDF制作你想要大小的PDF文件呢,本文就來和大家詳細講講
    2023-08-08
  • Python集成測試提高軟件質(zhì)量關(guān)鍵步驟探究

    Python集成測試提高軟件質(zhì)量關(guān)鍵步驟探究

    Python是一門強大的編程語言,提供了眾多工具和庫,用于執(zhí)行高效的集成測試,本文將深入介紹Python集成測試的概念、方法和最佳實踐,并通過豐富的示例代碼演示如何提高軟件質(zhì)量和減少潛在的缺陷
    2024-01-01
  • selenium?UI自動化實戰(zhàn)過程記錄

    selenium?UI自動化實戰(zhàn)過程記錄

    如果大家有做過web的自動化測試,相信對于selenium一定不陌生,測試人員經(jīng)常使用它來進行自動化測試,下面這篇文章主要給大家介紹了關(guān)于selenium?UI自動化實戰(zhàn)的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Django xadmin開啟搜索功能的實現(xiàn)

    Django xadmin開啟搜索功能的實現(xiàn)

    今天小編就為大家分享一篇Django xadmin開啟搜索功能的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python爬蟲要用到的庫總結(jié)

    python爬蟲要用到的庫總結(jié)

    在本篇內(nèi)容中小編給大家整理的是關(guān)于python爬蟲要用到的庫總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • Python 自動化表單提交實例代碼

    Python 自動化表單提交實例代碼

    今天以一個表單的自動提交,來進一步學(xué)習(xí)selenium的用法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-06-06
  • Django中使用Redis配置緩存的方法步驟

    Django中使用Redis配置緩存的方法步驟

    本文主要介紹了Django中使用Redis配置緩存的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • 利用python實現(xiàn)凱撒密碼加解密功能

    利用python實現(xiàn)凱撒密碼加解密功能

    這篇文章主要介紹了利用python實現(xiàn)凱撒密碼加解密功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論