Docker鏡像管理透析

歡迎關注【無量測試之道】公衆號,回覆【領取資源】,
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自動化測試等,微信搜索公衆號:“無量測試之道”,或掃描下方二維碼:

 添加關注,一起共同成長吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章