在 ubuntu 上面安裝 docker

  • 889
  • 0
  • 2016-06-18

這邊講解如何在 Ubuntu 上安裝 Docker,並且講解 Docker 有那些基本設定是需要注意的。

參考來源: https://docs.docker.com/engine/installation/linux/ubuntulinux/

實作環境以及相關套件

  • 作業系統: Ubuntu Server 14.04 LTS 64 bit
  • Docker: 1.7.1

預先準備

  • 請先確定 ubuntu 是64位元的版本,並且 kernel 比版本 3.10 還要新
    • 確認是 32 位元或 64 位元
    • $ uname -i
      x86_64
    • ​檢查 kernel 版本
    • $ uname -r
      4.2.0-36-generic
  • 更新 docker 的 apt 來源到最新版本 (適用於已經安裝過 docker 的人)
    • 確定 APT 可以透過 https 作業,並且已安裝 CA 憑證
    • $ sudo apt-get update
      $ sudo apt-get install apt-transport-https ca-certificates
    • 增加新的 GPG 鑰匙
    • $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    • 使用編輯器打開 /etc/apt/sources.list.d/docker.list
    • 清空已存在的項目
    • 新增項目 deb https://apt.dockerproject.org/repo ubuntu-trusty main
    • 儲存並且關閉 /etc/apt/sources.list.d/docker.list
    • 更新 APT package index
    • $ sudo apt-get update
    • 移除舊的 docker
    • $ sudo apt-get purge lxc-docker
    • 確認 APT 已經連結正確的 repository
    • $ apt-cache policy docker-engine
  • 安裝 linux-image-extra
  • 因為 linux-image-extra 允許我們使用 aufs 儲存引擎
    • 更新 package manager
    • $ sudo apt-get update
    • 安裝 linux-image-extra
    • $ sudo apt-get install linux-image-extra-$(uname -r)
    • 再來安裝 apparmor
    • $ sudo apt-get install apparmor
    • 接著就能開始安裝 docker 囉!

開始安裝 Docker

  • 更新 APT package index
  • $ sudo apt-get update
  • 安裝 Docker
  • $ sudo apt-get install docker-engine
  • 啟動 docker 程序
  • $ sudo service docker start
  • 確定 docker 已經安裝完成
  • $ sudo docker run hello-world

更新 Docker

  • 使用 apt-get 安裝最新版的 docker
  • $ sudo apt-get upgrade docker-engine

移除 Docker

  • 移除 docker package
  • $ sudo apt-get purge docker-engine
  • 移除 docker 相關套件
  • $ sudo apt-get autoremove --purge docker-engine
  • 以上的指令並不會刪除掉機器上的 images, containers, volumes, or 自己產生的設定檔,如果想將這些全部刪掉的話,可以用以下指令
  • $ rm -rf /var/lib/docker

其他設定

  • 建立 Docker 群組
  • 如果不想要每次都用 sudo 呼叫 docker 可以參考以下作法
    • 建立 docker 群組
    • $ sudo groupadd docker
    • 將自己的帳號加進 docker 群組
    • $ sudo usermod -aG docker $(whoami)
    • 確定自己的帳號有加進 docker 群組
    • $ groups $(whoami) | grep docker
    • 確定可以直接執行 docker 而不用再呼叫 sudo
    • $ docker run hello-world
    • 如果出現以下的錯誤
      Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?

      請確認環境變數 DOCKER_HOST 是否有設定值,如果有則清空它

      unset DOCKER_HOST