這邊講解如何在 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