使用Docker来运行WebApp
(作者:陳玓玏)
1、加載鏡像到容器并運行webapp腳本
先進入管理員模式:
su root然后使用已有的webapp鏡像來練習在docker上運行webapp需要先把鏡像下載到docker中;
docker pull training/webapp加載完成之后,我們需要把webapp的端口設置成本機的開放端口,如果是直接運行腳本和設置端口一次性完成,方法如下:
docker run -d -P training/webapp python app.py這樣就是在默認端口上(-P將docker端口映射到主機),在后臺運行(-d設置)training/webapp這個鏡像中的Python腳本文件app.py。
2、訪問webapp
那么怎么訪問這個正在運行的webapp呢?你需要兩個東西:1)你主機的ip地址;2)你容器映射到的端口地址。
獲取ip地址的命令:
輸出結果中的inet就是你需要的ip地址。接下來查找端口號:
#查找正在運行的容器信息 docker ps #查找所有的容器信息 docker ps -a輸出結果如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 091ea847d0d2 training/webapp "python app.py" 5 seconds ago Up 4 seconds 0.0.0.0:32769->5000/tcp boring_elion結果中的PORTS選項給出了端口號,32769->5000表示主機中使用的端口是32769,而容器中的網絡端口是5000。
有了IP地址和端口號,在瀏覽器中輸入網址為 ip地址:端口號,這樣就能訪問webapp了,此例中輸出的結果是“Hello world!”
3、可能想要改變一下端口號
如果不改變端口號,每次開啟一個新容器都會在一個新的端口上運行,不過端口分配比較隨機,所以每次訪問webapp都需要先查詢端口號,如果要改變主機使用的端口,用以下命令:
docker run -d -p 5000:5000 training/webapp python app.py記得這里的-p要小寫。
此時再嘗試更改網址中的端口號為5000,依然能成功。不過需要注意的是,冒號前面的端口號表示主機中使用的端口號,但這個端口號也不是胡亂設置的,有可能有不開放的端口號或不存在的端口號,比如你設置成6000,就不會訪問成功。
4、暫停容器運行
最后如果你想暫停應用,輸入以下命令:
#通過容器名稱停止 docker stop boring_elion #通過容器id停止 docker stop e6d2831a4f82此時你再通過docker ps命令不會查到任何容器信息了,只能通過docker ps -a來查看了,不過也不會有端口信息,因為此時應用已經關閉了。再次開啟用以下命令:
docker start boring_elion5、移除容器
最后移除容器:
docker rm thirsty_villani如果提示正在運行,不能移除那么嘗試以下命令:
docker rm -f thirsty_villani-f是強制移除正在運行的容器。
如果想要自動在容器停止運行后刪除,那么通過以下命令來創建容器:
這樣在你停止容器的運行后,它會自動remove掉,不需要再手動清理了。
參考文章:本文是菜鳥教程的學習筆記,主要是自己的操作筆記,有很多自己的注解,也可以直接看菜鳥教程:
http://www.runoob.com/docker/docker-container-usage.html
轉載于:https://www.cnblogs.com/lonelyxmas/p/10412434.html
總結
以上是生活随笔為你收集整理的使用Docker来运行WebApp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串处理示例--列车车次查询.sql
- 下一篇: vs2010插件