ubuntu 12.04 安裝Docker 實戰

2016-3-8

從網絡服務商那裏申請到一臺Ubuntu測試服務器,用來測試安裝Docker環境。
注:本人初學Docker,對Linux命令也僅是稍稍瞭解,若有錯誤,煩請告知。html


查看系統相關信息

可以使用命令uname -auname -rlsb_release -a 查看:linux

$ uname -a
> Linux zabbix 3.2.0-29-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

或:nginx

$ uname -r
> Linux zabbix 3.2.0-29-generic

或:web

$ lsb_release -a
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.2 LTS
Release:        12.04
Codename:       precise
root@zabbix:~#

可看到當前的系統是 Ubuntu 12.04.2 LTS x86_64 Linux zabbix 3.2.0-29-genericdocker

Ubuntu 12.04.2 LTS 64位 內核版本是 3.2.0-29-generic
***ubuntu

插曲1:升級Package

這是測試時在網上找到的一種方法,經測試後發現這種方式只是更新了Package,並無升級內核版本。
即只是將系統從 12.04.2 LTS 升級到了 12.04.5 LTS 版本。服務器

運行命令:網絡

  1. 升級包管理器
$ sudo apt-get update
  1. 執行升級Package命令
$ sudo apt-get dist-upgrade
  1. 重啓
$ sudo reboot

等待執行完成後,經過命令uname -a 查看系統信息:ssh

$ uname -a
> Linux zabbix 3.2.0-100-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

插曲2:升級到 ‘14.04.4 LTS’

上面的 「插曲1:升級Package」 執行完成後,再次用ssh登錄後會有更新提示:curl

ssh登錄後有更新提示:
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-100-generic x86_64)

  • Documentation: https://help.ubuntu.com/
    New release '14.04.4 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.

總結命令多是:

$ sudo apt-get update
$ sudo apt-get do-release-upgrade
$ sudo reboot

看網上的評論說這種方式更新後偶有出現黑屏等不穩定狀況,另外升級的時間也會太長,因此何嘗試該方法。

上面的兩個插曲可直接忽略,不影響下面的內核版本升級


升級Ubuntu的內核版本

Docker 官網上要求Docker須要在64位版本的Ubuntu上安裝,而且還要保證 Ubuntu 內核的最小版本不低於 3.10。

從網上找到了兩種內核版本:

  • 3.8 內核版本:
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
  • 3.13 內核版本:
$ sudo apt-get update
$ sudo apt-get install linux-generic-lts-trusty

這裏sudo apt-get install linux-generic-lts-trusty 也能夠拆成兩句:

$ sudo apt-get install linux-image-generic-lts-trusty
$ sudo apt-get install linux-headers-generic-lts-trusty

總結最後的升級內核步驟,linux系統內核從3.2.0-100-generic升級到3.13版本:

  1. 升級包管理器
$ sudo apt-get update
  1. 安裝升級內核3.13必需和可選的依賴包
$ sudo apt-get install linux-generic-lts-trusty
  1. 重啓系統
$ sudo reboot

升級步驟記錄:

  1. 安裝前查看:
root@zabbix:~# uname -a
Linux zabbix 3.2.0-100-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root@zabbix:~#
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:        12.04
Codename:       precise
root@zabbix:~#
  1. 執行上面的安裝命令
  2. 安裝後查看:
root@zabbix:~# uname -a
Linux zabbix 3.13.0-81-generic #125~precise1-Ubuntu SMP Thu Mar 3 11:31:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root@zabbix:~#
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:        12.04
Codename:       precise
root@zabbix:~#

系統內核從3.2.0-100-generic升級到了3.13.0-81-generic,接下來能夠安裝Docker環境了。


Docker 環境安裝

Docker 的安裝可查看官方的安裝教程: Docker官方安裝教程

Docker安裝總結:

  1. 以sudo管理員身份登錄,這裏以root帳戶登陸
  2. 判斷系統中 curl 命令是否安裝:
$ whereis curl

若是已經安裝,則會輸出curl命令所在的目錄

  1. 若是沒有安裝curl,則執行安裝命令:
$ sudo apt-get update
$ sudo apt-get install curl
  1. 安裝Docker:
$ curl -fsSL https://get.docker.com/ | sh

也有命令爲:

$ curl -sSL https://get.docker.com/ | sudo sh
  1. 系統會要求輸入sudo帳戶密碼,等待安裝docker及其依賴項。
  2. 安裝完成後,會顯示當前Docker的版本信息。
  3. 在Ubuntu系統下執行Docker命令時,每次都要輸入sudo,同時輸入密碼,很累人的。 Docker 會提示將當前用戶root 添加到docker 用戶組中,可執行命令:
$ sudo usermod -aG docker root

注:這裏的root可換成你本身的登錄帳戶

  1. 重啓系統
$ sudo reboot
  1. 查看上面的命令是否生效
$ docker version
  1. 至此,Docker服務就安裝完成了。

在Docker下運行一個輸出Hello Docker的程序:

執行命令:

$ docker run busybox /bin/echo "Hello Docker"
Hello Docker

若是本地不存在busybox鏡像,docker 會自動從官網下載相關鏡像。

在Docker下搭建一個Nginx服務器:

  1. 從Docker Hub官網下載一個Ubuntu鏡像:
$ docker pull ubuntu:14.04
  1. 以交互方式啓動一個名稱爲web的容器,指定宿主機的8080端口指向容器web80端口:
$ docker run -it --name web -p 8080:80 ubuntu:14.04

而後能夠看到命令提示符由 root@zabbix:~# 變成了形如 root@45738573634:~# 的形式,說明咱們如今成功進入了這個名爲web的容器中;

  1. web容器內執行命令:
$ sudo apt-get install -y curl
$ sudo apt-get install -y nginx
  1. web容器內輸入命令:
$ curl localhost

能夠看到輸出了Nginx的歡迎信息Welcome to nginx!

  1. 由於個人宿主服務器如今是聯網的,因此我能夠在外網訪問到該Docker容器web裏的Nginx歡迎頁面:
    docker下成功運行nginx.jpg

至此,咱們的Nginx服務器就搭建完成了。


相關網址及參考:


該文章同步發表在本人簡書及博客園下,若有轉載請註明出處。

相關文章
相關標籤/搜索