docker 學習筆記一

什麼是docker

Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案。

爲什麼使用docker

  1. 更快速的交付和部署
  2. 更高效的虛擬化
  3. 更輕鬆的遷移和擴展
  4. 更簡單的管理
特性 容器 虛擬機
啓動 秒級 分鐘級
硬盤使用 一般爲 MB 一般爲 GB
性能 接近原生 弱於
系統支持量 單機支持上千個容器 一般幾十個

docker的基本概念

鏡像(image)

docker鏡像就是一個只讀模版。一個鏡像可以包含一個完整的ubuntu操作系統環境。鏡像可以用來創建docker容器。

容器(container)

docker利用容器來運行其他應用。容器是從鏡像創建的實例。它可以被啓動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。鏡像是隻讀的,容器在啓動的時候創建一層可寫層作爲最上層。

docker倉庫(repository)

倉庫是集中存放鏡像文件的場所。當用戶創建了自己的鏡像之後就可以使用 push 命令將它上傳到公有或者私有倉 庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來 就可以了。

安裝

我是mac,所以參照來官方網站mac版的安裝教程。 這裏不再詳述。

docker的基本操作

  1. docker pull

    可以使用 docker pull 命令來從倉庫獲取所需要的鏡像。

    Wangs-MacBook-Pro:~ wxc575843$ docker pull tomcat
    Using default tag: latest
    latest: Pulling from library/tomcat
    43c265008fae: Already exists 
    af36d2c7a148: Pull complete 
    2b7b4d10e1c1: Pull complete 
    35dfd23791b5: Pull complete 
    fa0aca12f0dd: Downloading [=======================>                           ] 36.23 MB/77.74 MB
    6e3e424fb5e8: Download complete 
    9707fd7c2520: Download complete 
    bc96a5a31454: Download complete 
    02c274ea6f09: Download complete 
    0816d68406c9: Download complete 
    6dd15d6d17e3: Download complete 
  2. docker images

    使用 docker images 顯示本地已有的鏡像。
    在列出信息中,可以看到幾個字段信息
    - 來自於哪個倉庫,比如 ubuntu
    - 鏡像的標記,比如 14.04
    - 它的 ID 號(唯一)
    - 創建時間
    - 鏡像大小

    其中鏡像的 ID 唯一標識了鏡像

    Wangs-MacBook-Pro:~ wxc575843$ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat latest 7b6daea9936c 6 days ago 355.5 MB
    mysql latest cf725f136fd2 6 days ago 383.4 MB
    ubuntu latest f753707788c5 2 weeks ago 127.2 MB
    centos latest 980e0e4c79ec 7 weeks ago 196.8 MB
    hello-world latest c54a2cc56cbb 3 months ago 1.848 kB

  3. 刪除鏡像&容器
    docker mi IAMGE ID & docker rm CONTAINER ID

  4. 顯示所有的容器
    docker ps(顯示運行的容器)
    docker ps -a (顯示所有容器)

  5. docker run
    創建新容器
    參數

    • -i 指定輸入爲stdin
    • -name 指定容器的名字
    • -t 選項讓Docker分配一個僞終端(pseudo-tty)並綁定到容器的標準輸入上
    • -d 後臺運行,重新顯示使用docker attach
  6. docker attach
    將後臺的容器顯示在前臺。

  7. docker start/stop/restart

  8. docker commit

     docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    
    • -m 說明提交信息
  9. Dockerfile
    使用 來擴展一個鏡像比較簡單,但是不方便在一個團隊中分 享。我們可以使用 來創建一個新的鏡像。爲此,首先需要創建一 個 Dockerfile,包含一些如何創建鏡像的指令。
    Dockerfile 基本的語法是

    • 使用 # 來註釋
    • FROM 指令告訴 Docker 使用哪個鏡像作爲基礎
    • 接着是維護者的信息
    • RUN 開頭的指令會在創建中運行,比如安裝一個軟件包,在這裏使用 apt-get來安裝了一些軟件

      編寫完成 Dockerfile 後可以使用 docker build 來生成鏡像。
      docker build -t=”REPOSITORY:TAG” DockerfilePATH

  10. 從本地文件系統導入
    比如,先下載了一個 ubuntu-14.04 的鏡像,之後使用以下命令導入:然後查看新導入的鏡像。

    sudo cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04
    
  11. 上傳鏡像
    用戶可以通過 docker push 命令,把自己創建的鏡像上傳到倉庫中來共享。例 如,用戶在 Docker Hub 上完成註冊後,可以推送自己的鏡像到倉庫中。

      docker push NAME[:TAG] [OPTIONS]
    
  12. 存出和載入鏡像

     docker save -o ubuntu_14.04.tar ubuntu:14.04
     sudo docker load --input ubuntu_14.04.tar
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章