在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【Docker】命令使用大全

gVTR_Unf ? 來源:機器視覺CV ? 2020-09-07 16:40 ? 次閱讀

【Docker】命令使用大全

目標:

編寫自己的 Dockerfile 鏡像

創建一個簡單的 Web 界面

使用鏡像創建一個 Flask APP

有關 Dockerfile 的相關知識,我在后面的文章會進行講解,今天主要是實際操作

所需工具:安裝好 Docker 的服務器或者本地電腦,筆者使用的是服務器:Ubuntu 系統

創建一個 Flask APP

首先創建一個 Flask app

app.py

fromflaskimportFlask,render_template importrandom app=Flask(__name__) #listoffoximages,用來進行頁面展示的 images=[ "https://media0.giphy.com/media/Ko5dZRMv9uJFu/giphy.gif", "https://media.tenor.com/images/6461359b4205a95bf1f4374a3aa2acec/tenor.gif", "https://i.imgur.com/dUBv79d.gif", "https://media2.giphy.com/media/dvBgr7pA6FTJOMOALY/giphy.gif", "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/45dfcad0-23ff-4af4-8c3f-b4b68f6edab4/d5hxh3z-aac8f004-e5db-4030-8e0c-62b899b4d0ce.gif" ] @app.route('/') defindex(): url=random.choice(images) returnrender_template('index.html',url=url) if__name__=="__main__": app.run(host="0.0.0.0")

創建一個requestment.txt文件,把 Python 需要的包及其版本放進去,方便后續安裝

requestment.txt

Flask==0.10.1

創建一個簡單的 Web 頁面

templates/index.html

創建一個 templates 的文件夾,并在此文件夾下創建 index.html 文件

body{ background:black; color:white; } div.container{ max-width:500px; margin:100pxauto; border:20pxsolidwhite; padding:10px; text-align:center; } h4{ text-transform:uppercase; }

FoxGifoftheday

Courtesy:AICV

Dockerfile

我們基于 Alpine 構建一個鏡像Alpine:Alpine Linux 的最小 Docker 映像,具有完整的包索引,大小只有 5mb,非常實用。

對命令的含義進行了注釋

#基礎鏡像 FROMalpine:3.9 #因為我們需要運行 Python,所以需要配置環境:安裝 Python 和 pip 到Apline Linux 中,該命令不僅會安裝 pip 包,也會安裝其他的依賴(如 Python 的解釋器) #RUN是Docker的命令,apkadd--updatepy2-pip類似于Linux命令 RUNapkadd--updatepy2-pip #拷貝本地文件requirements.txt(默認與Dockerfile同一文件夾)到容器的/usr/src/app/文件夾下,會自動創建 COPYrequirements.txt/usr/src/app/ #安裝所需要的python包 RUNpipinstall--no-cache-dir-r/usr/src/app/requirements.txt #拷貝其他文件 COPYapp.py/usr/src/app/ COPYtemplates/index.html/usr/src/app/templates/ #容器需要暴露端口,Flask程序運行的端口 EXPOSE5000 #運行python程序,該命令的意思是python/usr/src/app/app.py CMD["python","/usr/src/app/app.py"]

目錄結構如下所示:

編譯鏡像

編寫完 Dockerfile,接下來就是進行編譯了,使用 docker bulid

是 Docker hub 的用戶名命令最后有個 . 不要漏了,其代表的含義是 Dockerfile 所在的路徑

dockerbuild-t/myapp.

下面是編譯過程中的一些輸出:

SendingbuildcontexttoDockerdaemon6.656kB Step1/8:FROMalpine:3.9 --->78a2ce922f86 Step2/8:RUNapkadd--updatepy2-pip --->Usingcache --->ba2fa67ca853 Step3/8:COPYrequirements.txt/usr/src/app/ --->Usingcache --->43511e5ced4b Step4/8:RUNpipinstall--no-cache-dir-r/usr/src/app/requirements.txt --->Runningin97289c7eda9d CollectingFlask==0.10.1(from-r/usr/src/app/requirements.txt(line1)) Downloadinghttps://files.pythonhosted.org/packages/db/9c/149ba60c47d107f85fe52564133348458f093dd5e6b57a5b60ab9ac517bb/Flask-0.10.1.tar.gz(544kB) CollectingWerkzeug>=0.7(fromFlask==0.10.1->-r/usr/src/app/requirements.txt(line1)) Downloadinghttps://files.pythonhosted.org/packages/cc/94/5f7079a0e00bd6863ef8f1da638721e9da21e5bacee597595b318f71d62e/Werkzeug-1.0.1-py2.py3-none-any.whl(298kB) CollectingJinja2>=2.4(fromFlask==0.10.1->-r/usr/src/app/requirements.txt(line1)) Downloadinghttps://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl(125kB) Collectingitsdangerous>=0.21(fromFlask==0.10.1->-r/usr/src/app/requirements.txt(line1)) Downloadinghttps://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl CollectingMarkupSafe>=0.23(fromJinja2>=2.4->Flask==0.10.1->-r/usr/src/app/requirements.txt(line1)) Downloadinghttps://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz Installingcollectedpackages:Werkzeug,MarkupSafe,Jinja2,itsdangerous,Flask Runningsetup.pyinstallforMarkupSafe:started Runningsetup.pyinstallforMarkupSafe:finishedwithstatus'done' Runningsetup.pyinstallforFlask:started Runningsetup.pyinstallforFlask:finishedwithstatus'done' SuccessfullyinstalledFlask-0.10.1Jinja2-2.11.2MarkupSafe-1.1.1Werkzeug-1.0.1itsdangerous-1.1.0 Removingintermediatecontainer97289c7eda9d --->9dbc17abb6f7 Step5/8:COPYapp.py/usr/src/app/ --->0c69faca84cb Step6/8:COPYtemplates/index.html/usr/src/app/templates/ --->a0e7ce10250b Step7/8:EXPOSE5000 --->Runninginf570b863937d Removingintermediatecontainerf570b863937d --->ba48b6b1c4bd Step8/8:CMD["python","/usr/src/app/app.py"] --->Runningin2a73d498ea52 Removingintermediatecontainer2a73d498ea52 --->b64a5a0d5dd0 Successfullybuiltb64a5a0d5dd0 Successfullytaggedaicv/myfirstapp:latest

編譯完成后,我們可以看到鏡像出現了

運行鏡像為容器

我們使用創建的鏡像運行一個容器,將容器中的 5000端口映射到宿主機的 8899 端口

dockerrun-p-d8899:5000--namemyfirstappaicv/myfirstapp

打開 http://localhost:8899或者 http://ip:8899就能看到頁面了,刷新頁面可以看到不同的畫面。

推送到遠程倉庫

要推送到遠程倉庫,首先需要登錄你自己的 Docker hub 賬號

dockerlogin dokckerpushYOUR_USERNAME/myfirstapp

本節我們完成了一個簡單的 Flask APP 的部署工作,了解了 Dockerfile 的基本使用,并將鏡像推送到我們的遠程倉庫中。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9716

    瀏覽量

    87357
  • 鏡像
    +關注

    關注

    0

    文章

    178

    瀏覽量

    11133
  • Docker
    +關注

    關注

    0

    文章

    512

    瀏覽量

    12744

原文標題:【Docker】項目實戰,部署自己的APP

文章出處:【微信號:Unfinished_coder,微信公眾號:機器視覺CV】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的頭像 發表于 05-28 17:14 ?110次閱讀

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務,如管理文件和目錄、操作進程、網絡通信、軟件安裝等。
    的頭像 發表于 05-03 18:08 ?922次閱讀

    Docker Compose的常用命令

    大家好,今天給大家分享Docker Compose的常用命令,以及docker-compose文件的屬性。Docker Compose 是一個用于定義和運行多容器
    的頭像 發表于 04-30 13:40 ?298次閱讀

    Docker基本命令及其用例

    Docker 已迅速成為容器化應用程序的事實標準。作為開發人員或 DevOps 工程師/系統管理員,熟悉 Docker 對于高效部署現代、可移植的應用程序至關重要。
    的頭像 發表于 04-30 10:04 ?198次閱讀

    Docker常用命令大全

    Docker 是一種開源的應用容器引擎,廣泛應用于開發、部署和運行分布式應用。掌握 Docker 常用命令對于開發人員和運維人員來說非常重要。本文將為大家整理常用的Docker
    的頭像 發表于 04-22 12:47 ?312次閱讀

    【技術案例】Android in Docker

    Docker介紹Docker是一個開源的容器化平臺,用于打包、分發和運行應用程序。它通過將應用及其所有依賴打包到獨立的容器中,確保應用在不同環境中一致運行。Docker提供快速部署、隔離性強和高效
    的頭像 發表于 04-02 16:33 ?540次閱讀
    【技術案例】Android in <b class='flag-5'>Docker</b>

    docker的基本命令和使用示例

    DotCloud 公司是一家 PAAS 服務提供商,從 docker 的出身也可以看出它的主要功能和方向。
    的頭像 發表于 01-06 15:59 ?400次閱讀

    docker-compose配置文件內容詳解以及常用命令介紹

    。 使用 docker-compose.yml 定義構成應用程序的服務,這樣它們可以在隔離環境中一起運行。 最后,執行 docker-compose up 命令來啟動并運行整個應用程序。 二、
    的頭像 發表于 12-02 09:29 ?4177次閱讀
    <b class='flag-5'>docker</b>-compose配置文件內容詳解以及常用<b class='flag-5'>命令</b>介紹

    如何在樹莓派上安裝Docker容器

    ,確保你的系統是最新的。打開終端,輸入以下命令: sudo apt updatesudo apt upgrade 3. 安裝Docker 步驟1:添加Docker的官方GPG密鑰 curl -fsSL https://downl
    的頭像 發表于 11-11 11:38 ?1781次閱讀

    Docker運行環境安裝

    作者:京東科技 林中 Docker是一個開放的平臺,用于開發、發布和運行應用程序。Docker分離了應用程序和運行應用的基礎設施,從而實現了軟件的快速交付。利用docker提供的一系列功能,包括構建
    的頭像 發表于 10-29 11:28 ?589次閱讀

    Linux實用命令大全

    Linux實用命令大全
    的頭像 發表于 10-23 13:50 ?541次閱讀
    Linux實用<b class='flag-5'>命令</b><b class='flag-5'>大全</b>

    手動構建Docker鏡像的方法

    不推薦使用docker commit命令,而應該使用更靈活、更強大的dockerfile來構建docker鏡像。
    的頭像 發表于 08-05 15:30 ?826次閱讀
    手動構建<b class='flag-5'>Docker</b>鏡像的方法

    ARM平臺實現Docker容器技術

    下載鏡像并運行容器的方法。1 Docker安裝1.1 安裝方法(1)安裝依賴包 打開Ubuntu,確保Ubuntu可正常訪問互聯網,執行如下命令安裝Docker依賴包。 Host#sudo
    發表于 07-25 14:36

    ARM平臺實現Docker容器技術

    的方法。1 Docker安裝1.1 安裝方法(1)安裝依賴包 打開Ubuntu,確保Ubuntu可正常訪問互聯網,執行如下命令安裝Docker依賴包。 Host#sudo apt-get update
    發表于 07-17 11:05

    關于Docker 的清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下 復制代碼代碼如下: docker kill $(docker ps -a -q) ?刪除所有已經停止的容器 復制代碼
    的頭像 發表于 06-13 15:56 ?624次閱讀
    主站蜘蛛池模板: 四虎现在的网址入口 | 香蕉久久影院 | 美女扒开尿口让男人30视频 | 成人欧美一区二区三区黑人3p | 日本高免费观看在线播放 | 草逼网址 | 国产在线精品美女观看 | 欧美视频三区 | 偷自在线 | 日本美女黄色一级片 | 91av视频在线 | 日韩a级毛片免费观看 | 午夜剧场一级片 | 五月激情站 | 成年人的毛片 | 99综合在线| 海棠高h粗暴调教双性男男 韩国韩宝贝2020vip福利视频 | 精品色综合 | 青草青青产国视频在线 | 国产综合图区 | 一级片在线免费 | 免费成人看片 | 98色花堂永久地址国产精品 | 国产精品国产三级国产普通话对白 | 亚洲 [12p]| 欧美一二 | 久久综合久 | 亚洲禁片 | brazzersvideosex欧美最 | 黄色短视频免费观看 | 香港日本三级在线播放 | 亚洲国产tv | 亚洲黄色小说网站 | 一区二区三区电影 | 男女那啥的视频免费 | 很黄网站| 日本午夜色 | 国产吧在线视频 | 性欧美大战久久久久久久野外 | 嫩草影院入口一二三免费 | 四虎国产一区二区三区 |