Docker 實戰--操作系統

下面介紹如何使用 Docker 安裝和使用 Busybox、Debian/Ubuntu、CentOS/Fedora、CoreOS等操作系統。

Busybox

Busybox 是一個集成了一百多個最常用 Linux 命令和工具的軟件工具箱,它在單一的可執行文件中提供了精簡的 Unix 工具集。 Busybox 可運行于多款 POSIX 環境的操作系統中,如 Linux (包括 Android)、Hurd、FreeBSD等。

使用官方鏡像

在 DockerHub 中搜索 Busybox 相關的鏡像。

root@localhost:~# sudo docker search busybox

可以看到最受歡迎的鏡像同時帶有 officel 標記,說明它是官方鏡像。
下面使用 docker pull 命令下載這個鏡像。

root@localhost:~# sudo docker pull busybox

如果不指定標簽信息,Docker 會下載最新版本的 Busybox 鏡像。
使用 docker images 查看。

運行 Busybox

啟動一個 Busybox 容器,并在容器中執行 grep 命令。

root@localhost:~# sudo docker run -it busybox
/ # grep
查看容器內的掛載信息
/ # mount

Debian/Ubuntu

Debian/Ubuntu都是目前較為流行的 Debian 系的服務器操作系統,在 Docker Hub 上都可以直接搜索到官方版本。

搜索 Debain

root@localhost:~# sudo docker search debain

搜索 Ubuntu

Ubuntu 相關的鏡像有很多,使用 "-s" 參數,只搜索那些被收藏 10 次以上的鏡像。

root@localhost:~# sudo docker search -s 10 ubuntu

使用 -ti 參數進入,查看 ubuntu 的版本號
root@localhost:~# sudo docker run -ti ubuntu /bin/bash
root@49efe73a6eb6:/# cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
安裝 curl 軟件:
root@49efe73a6eb6:/# apt-get update
root@49efe73a6eb6:/# apt-get install curl
root@49efe73a6eb6:/# curl

接下來在這個鏡像里再安裝一個 Apache 服務:

root@49efe73a6eb6:/# apt-get install apache2
啟動這個 Apache 服務,然后使用 curl 來測試本地訪問:
root@49efe73a6eb6:/# service apache2 start
root@49efe73a6eb6:/# curl 127.0.0.1

如何才能從容器外部訪問Apache 服務呢?
答:如果以 -ti 參數啟動容器,是無法讓外部設備來訪問的,如果要讓外部設備訪問容器的話,需使用 -p 參數對外映射端口。

CentOS/Fedora

CentOS/Fedora 都是基于 Redhat 的 Linux 發行版。

搜索 Centos

root@localhost:~# sudo docker search -s 2 centos

搜索 Fedora

root@localhost:~# sudo docker search -s 2 fedora

根據搜索出來的結果,自行選擇下載鏡像并使用。

CoreOS

CoreOS 是一個基于 Docker 的 Linux 發行版,官方介紹了若干安裝方法,筆者推薦初學者使用 VMware Workstation 來運行 CoreOS.

這里就不介紹安裝 CoreOS , 大家可以直接使用 阿里云的 CoreOS系統。

小結

除了官方的鏡像外,在 DockerHub 上還有許多第三方組織或個人上傳的鏡像。一般來說,它們各有特點,在選鏡像過程中,以以下幾點需要注意。

  • 官方的鏡像體積都比較小,只安裝了一些基本的組件。一個精簡的系統有利于安全、穩定和高效地運行,也更加適合用定制一些服務。
  • 個別組織和個人上傳的鏡像質量也非常高。他們通常針對某個具體應用做了最精準的定位,比如下載一個包含 LAMP 組件的 Ubuntu 鏡像時,DockerHub 上已經有集成鏡像。
    另外,想查看下載鏡像的詳細信息,可以通過 docker inspect + 鏡像ID 的方法來獲取更多信息。
    最后,關于鏡像登錄的用戶名和密碼。出于安全考慮,幾乎所有帶官方標志的操作系統都無法直接使用用戶名和密碼直接登錄,且一自選股 沒有安裝SSH 服務。

參考文檔

《Docker 技術入門與實戰》實戰安例 -- 操作系統

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Docker — 云時代的程序分發方式 要說最近一年云計算業界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,627評論 15 147
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,409評論 0 27
  • docker 部署 標簽(空格分隔): docker 系統centos6.8 mini docker 官方文檔ht...
    Lisong閱讀 684評論 0 1
  • 0x01 核心概念 Docker鏡像類似于虛擬機鏡像,可以理解為一個面向Docker引擎的只讀模板,包含了文件系統...
    閑云逸心閱讀 4,767評論 0 9
  • 椰風送爽晨起早俯瞰淺海云水遙墅外山巒披錦繡人間盛景數濤島
    眾望城主閱讀 249評論 0 2