ubuntu14.04環境安裝docker體驗

吳峻申發表於2015-03-31

大前提:

用一個有sudo許可權的賬號登陸ubuntu。 如果賬號沒有sudo的許可權,登陸後輸入sudo -s,然後輸入此賬號密碼即可。 這樣就不用每個命令開頭都輸入sudo

開始安裝

  • 確保安裝了wget

使用which命令來確認

which wget

如果沒裝,使用下列兩個命令安裝

apt-get update

apt-get install wget

  • 獲取最新的Docker安裝包

輸入下方命令:

wget -qO- https://get.docker.com/ | sh

自動安裝,等待結束。

enter image description here

  • 確認docker是否被正確安裝

    docker run hello-world

enter image description here

可選的Docker配置

  • 建立docker使用者組建立使用者組,加入你的賬號

假設你的賬號名就是 docker,用下列命令建立並加入你的賬號

usermod -aG docker docker

登出然後登入,確保你的使用者擁有正確的許可權

確認能否正常執行docker

docker run hello-world

enter image description here

  • 調整memory和swap

執行Docker時,可能會看到下列資訊:

WARNING: Your kernel does not support cgroup swap limit. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.

為了消除這個警告,你要調整memory和swap,使用GNU GRUB (GNU GRand Unified Bootloader), 按照下列步驟做:

編輯 /etc/default/grub

gedit /etc/default/grub

將 GRUB_CMDLINE_LINUX 改成如下:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

存檔退出此檔案

更新 GRUB

update-grub

enter image description here

重啟系統

  • 啟動防火牆

如果你在執行docker的環境下使用了防火牆,還需要做些額外配置。docker是使用“橋接”方式來管理容器間的網路通訊。預設情況下,防火牆會擋住所有外部IP。所有要想在這種情況下,正常執行docker,要正確地設定防火牆的forward策略。

此外,防火牆在預設情況下,會拒絕所有進入的流量,所以要想使你的容器被其他主機訪問,你應該允許它們訪問docker的埠(預設是2375)

配置如下:

確認安裝了防火牆並已經啟動

ufw status

enter image description here

如果沒啟動,輸入命令

ufw enable

編輯 /etc/default/ufw

gedit /etc/default/ufw

設定 DEFAULT_FORWARD_POLICY

DEFAULT_FORWARD_POLICY="ACCEPT"

存檔退出此檔案

重啟防火牆

ufw reload

允許訪問Docker 埠.

ufw allow 2375/tcp

  • 配置DNS

當啟動docker容器時,可能會看到下列警告資訊:

WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4]

這是因為docker容器不能使用本地的DNS命名伺服器。相反,docker預設使用的是外部的命名伺服器。 要解決這個問題,你要設定一個DNS伺服器來給docker的容器使用,或者在NetworkManager裡讓dnsmasq 失效,但這樣可能會讓DNS解析的有點慢。

設定DNS的步驟:

編輯 /etc/default/docker

gedit /etc/default/docker

找到 DOCKER_OPTS="--dns 8.8.8.8" 用一個本地的DNS來替換8.8.8.8.

也可以設定多個DNS. 用空格分隔: --dns 8.8.8.8 --dns 192.168.5.1

enter image description here

存檔退出此檔案

重啟Docker 守護程式.

restart docker

  • 更新 Docker

使用下列命令來更新docker

wget -N https://get.docker.com/ | sh

enter image description here

感謝您抽出寶貴的時間閱讀我寫的東西,謝謝!

相關文章