docker 介紹

sld666666發表於2016-04-28

docker 介紹

安裝

  1. sudo apt-get install docker.io
  2. sudo docker info 檢視是否安裝成功

hello world

sodu docker run hello-world

執行這個命令的時候幹了如下幾個事情:

  1. docker引擎 CLI client 和 daemon 引擎發生互動
  2. daemon 從docker hub 拉“hello-world” 映象
  3. daemon 建立一個新的容器來作為執行環境
  4. deamon 告訴 CLI client 相關的執行返回,讓其在終端列印出來

我們可以在 https://hub.docker.com 找到更多映象。

以上我們有幾種概念:

  1. docker client, 使用者介面, 支援永和和docker daemon的同學
  2. docker daemon 執行主機上, 出來伺服器請求
  3. docker index 中央registry, 支援共有和私用的docker容器映象備份

三個要素:

  1. 容器
  2. 映象
  3. DockerFile

映象和容器

在上面例子中, 我們指出了兩個概念: 容器 和映象

容器: 負責應用程式的執行,包括作業系統、使用者新增的檔案以及後設資料。
映象: 執行在容器上。

一個映象可以是非常簡單的一個命令,也可以是非常複雜的軟體系統(如資料庫,tomcat), 這些映象可以是別人建立的,然後你在使用。

很多人在建立映象, 我們可以在https://hub.docker.com知道映象。

docker run tomcat

就可以執行tomcat,如果本地不存在,則先從hub.docker中下載。

用: docker images 就可以檢視本地安裝了多少映象

建立你自己的映象

我們用

docker run docker/whalesay cowsay boo

其中 cowsay 是要執行的命令,後面的 boo 是引數

來使用whalesay的映象,現在我們以之為基礎來建立我們自己的映象。

第一個 寫Dokcerfile

Dokcerfile 用來描述映象的資訊。按如下步驟就可以使用映象:

  1. mkdir mydockerbuild
  2. cd mydockerbuild
  3. vim Dockerfile
  4. 寫下如下, 儲存並關閉

    FROM tomcat:latest
    RUN apt-get -y update && apt-get install -y fortunes
    CMD /usr/games/fortune -a | cowsay

其中

  1. FROM 說明這個映象是基於哪個映象的
  2. RUN 增加 “fortunes ”到映象中, “fortunes ”能夠列印出更友好的話。

    從 Dockerfile中編譯出映象

    docker build -t docker-whale .

這樣就可以使用自己的新映象了,當然我們可以把他Push到hub.docker中。

總結

很久以前, 我就想一個軟體配置玩了以後是不是可以直接在其他電腦中使用。 但是很不幸,自動化的配置非常的困然。 現在docker 竟然用虛擬化的技術實現了軟體的配置像程式碼一樣, git, push,get ,share。 真是爽。

相關文章