歡迎關注【無量測試之道】公衆號,回覆【領取資源】,
Python編程學習資源乾貨、
Python+Appium框架APP的UI自動化、
Python+Selenium框架Web的UI自動化、
Python+Unittest框架API自動化、
資源和代碼 免費送啦~
文章下方有公衆號二維碼,可直接微信掃一掃關注即可。
1、docker,鏡像,容器及倉庫的概念
Docker 是一個開源的應用容器引擎,它是基於 Go 語言並遵從 Apache2.0 協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。
Docker 鏡像(Image)就是一個只讀的模板。
例如:一個鏡像可以包含一個完整的操作系統環境,裏面僅安裝了 Apache 或用戶需要的其它應用程序。
容器是由鏡像來創建的,一個鏡像可以創建很多容器。
倉庫(Repository)是集中存放鏡像文件的場所。
Docker 利用容器(Container)來運行應用。
容器是從鏡像(Image)創建的運行實例。
2、docker鏡像的管理
1).構建一個自定義的鏡像
docker build -t tonyflask/first .
#.表示用當前目錄的Dockerfile 來構建,tonyflask/first 是打的一個tag
鏡像創建成功了,如下圖:
2).保存鏡像到本地磁盤
沒有返回表示保存成功。
docker save -o tonyflask.tar tonyflask/first
本地文件名爲tonyflask.tar 文件,命令成功後會生成你所命名的文件。
3).給鏡像做一個副本
docker tag tonyflask/first tonyflask/addredis
此命令我將tonyflask/first的鏡像做了一個副本,在原基礎上安裝了redis的第三方包。成功後可以通過docker images 查看到。
4).也可以將容器(運行的鏡像)進行打包(因爲你可能會去更新鏡像,但又要保留下來)
docker ps 查看一下運行的容器:
docker export -o run0613.tar container_id
5).將本地保存下來的tar 格式的鏡像文件導入到鏡像倉庫中去
docker load < tonyflask.tar
6).還可以將本地文件內容拷貝到容器(運行的鏡像)中去,這樣也可以構建我們自己想要的新鏡像
dock cp a.py container_id:/dir
7).將鏡像上傳到docker hub倉庫中去,這樣可以供其他需要的人使用。
首先你要去註冊一個docker hub 賬號,這裏不贅述。
然後docker login
最後就是docker push 推本地的鏡像到hub 倉庫
docker tag tonyfirstflask 190029/tonyfirstflask
#重新打一個tag,190029是我的docker hub賬號
docker push 190029/tonyfirstflask
#開始發佈我的鏡像
發佈成功後可以去docker hub 上面查看一下:
8).其他人要想使用的話,可以docker pull 即可
結語:本次上傳的鏡像是一個真實可使用的鏡像,裏面是一個flask 服務,有三個菜單選項,大家可以通過此命令
docker run -d -p 127.0.0.1:9000:9000 190029/tonyfirstflask啓動服務,本地就可以直接訪問了,如下所示:
備註:我的個人公衆號已正式開通,致力於測試技術的分享,包含:大數據測試、功能測試,測試開發,API接口自動化、測試運維、UI自動化測試等,微信搜索公衆號:“無量測試之道”,或掃描下方二維碼:
添加關注,一起共同成長吧。