Docker的概念
什麼是Docker
Docker是一個開源的引擎,可以輕鬆的爲任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其他的基礎應用平臺。
Docker的優勢
對於開發和運維來說,把程序部署到生產的時候,最常見的問題是環境問題,由於服務器單機的差異,可能會導致問題比較衆多煩雜。對於這個問題,docker的優勢就可以體現出來了。我們假設一個系統有四個要素組成:應用app,app依賴的類庫,配置文件和系統環境。
- 對於傳統的部署
我們需要對以上個因素進行單獨的考慮和配置,如果集羣則面臨了大量的工作量,如果使用虛擬機的快照,也過於龐大
- docker部署 docker本身是跨平臺,鏡像中包含應用程序中所需要的類庫和環境,一次生成多處運行。即使不跨平臺的語言,只要能夠運行在docker容器中,就能夠實現跨平臺。
Docker 安裝與使用
Docker的安裝
對於docker的安裝可以使用以下命令:
$ sudo apt-get install docker
安裝完成後,執行
$ docker version
執行結果如下:
Client version: 1.6.2 Client API version: 1.18 Go version (client): go1.5.1 Git commit (client): 7c8fca2 OS/Arch (client): linux/amd64 Server version: 1.6.2 Server API version: 1.18 Go version (server): go1.5.1 Git commit (server): 7c8fca2 OS/Arch (server): linux/amd64
如果有以上結果說明docker 已經安裝成功
碰到問題: connect: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS
原因: 是因爲當前的用戶沒有權限導致,把當前用戶添加到docker用戶組即可
解決辦法: 執行以下命令:
$ sudo gpasswd -a ${USER} docker # 把當前用戶添加到docker組 $ groups # 檢查沒有沒添加到當前用戶組 $ sudo service docker.io restart # 重啓
Docker的使用
對於docker的使用可以參考官方文檔 ,也可以通過執行docker –help命令來查看常用命令的使用。下面演示如何從服務器上面下載項目,docker有一個官方的鏡像服務器,但訪問速度非常慢,個人建議使用網易鏡像速度比較快。
1. 使用docker pull 下載hello-world項目
$ docker pull hub.c.163.com/library/hello-world:latest
2. 使用docker images查看本地有哪些鏡像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hub.c.163.com/library/hello-world latest 7a5a2d73abce 4 months ago 1.84 kB
3. docker run 運行鏡像
$ docker run hub.c.163.com/library/hello-world
運行結果:
4. 刪除docker容器
$ docker rmi -f hub.c.163.com/library/hello-world
(本文完)
作者:老付 如果覺得對您有幫助,可以下方的訂閱,或者選擇右側捐贈作者,如果有問題,請在捐贈後諮詢,謝謝合作 如有任何知識產權、版權問題或理論錯誤,還請指正。 自由轉載-非商用-非衍生-保持署名,請遵循:創意共享3.0許可證 交流請加羣113249828: 點擊加羣 或發我郵件 [email protected]