ubuntu 12.04 安裝Docker 實戰


2016-3-8

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


查看系統相關信息

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

$ 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

或:

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

或:

$ 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-generic

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


插曲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 查看系統信息:

$ 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登陸后會有更新提示:

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命令所在的目錄
3. 如果沒有安裝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可換成你自己的登陸賬戶
8. 重啟系統

$ 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的容器中;
3. 在web容器內執行命令:

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

可以看到輸出了Nginx的歡迎信息Welcome to nginx!
5. 因為我的宿主服務器現在是聯網的,所以我可以在外網訪問到該Docker容器web里的Nginx歡迎頁面:
docker下成功運行nginx.jpg

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


相關網址及參考:


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM