簡單 Docker 安裝入門教程 - Debian / Ubuntu 配置國內鏡像源方法

.. 什麼是 Docker?它是一種類似輕量級虛擬化容器技術的開源項目,能將複雜的應用程序打包成「鏡像」,供用戶快速拉取部署,以獨立「容器」的形式在服務器或本機上運行。

Docker 容器

以普通用戶的角度看待的話,Docker 部署的程序 (容器) 就像更加高級的「綠色版」工具一樣,每款應用運行時都「擁有自己私有的虛擬化環境」,多個容器之間不會互相影響,也不會影響宿主機器,相互隔離,使用起來非常安全方便,優點非常多。

Docker 和虛擬機有什麼區別?

比起傳統的虛擬機 (比如 VMWareParallels Desktop 等),在運行應用程序前,還要模擬運行一整套底層的操作系統相比,Docker 則是通過「隔離」的技術來實現環境虛擬化的,實際上用同一個 Linux 內核去跑應用,節省掉模擬操作系統所耗費的巨大資源以及模擬的性能損耗,從而使得應用程序的運行速度和原生安裝幾乎一樣。

Docker 既解決複雜部署和運維的問題,又以輕量虛擬化實現了程序之間的隔離,性能上還沒有任何明顯的損失,等等的好處使得 Docker 成為了當今最主流和最熱門的技術!所以無論是在服務器NAS 上要安裝什麼軟件,大多數時候都會推薦使用 Docker 進行部署。

Debian / Ubuntu / CentOS 簡單安裝 Docker 教程:

那麼下面,我們就一起來看看,怎麼樣在 Linux 上安裝 Docker 吧!教程以 DebianUbuntu 作為例子,其實 CentOSFedora 類也基本一樣。大家動動手就能輕鬆搞定 Docker,並用它來部署安裝各種各樣的項目了。

#切換到 Root 賬戶 su root  # 建議先升級一下系統 (Ubuntu / Debian 系) apt-get update apt-get upgrade # 如果你是 CentOS、紅帽系列則使用: yum update yum upgrade  # 安裝 Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Docker 更換配置國內鏡像:

使用 Docker 構建和部署應用程序時,幾乎都需要下載一些基礎鏡像和依賴庫。但由於國內網絡比較特殊,想要從官方的 Docker Hub 倉庫下載會極其緩慢,甚至會出現連接超時、無法下載等情況。為了解決網絡問題,我們需要配置使用國內的鏡像倉庫,來加快鏡像的下載速度。

創建或修改 /etc/docker/daemon.json 文件

vim /etc/docker/daemon.json

json 文件的內容如下:

{     "registry-mirrors": [         "http://hub-mirror.c.163.com",         "https://docker.mirrors.ustc.edu.cn",         "https://registry.docker-cn.com"     ] }

在國內其實有多個 Docker 鏡像源可以選擇,比如有:阿里雲鏡像、網易鏡像、DaoCloud 鏡像、ustc、ustc 中科大的鏡像等,大家可以擇優選擇。

修改之後重啟 Docker 服務:

sudo systemctl daemon-reload sudo systemctl restart docker

Docker 常用操作命令:

安裝 Docker 之後,你就可以使用一些命令進行操作了。

下載並運行鏡像:

docker run -d -p 6379:6379 -v /host/dir:/my/test --name nginx nginx:latest # 示例的參數解釋 # -d 表示後台運行容器(守護式運行) # -p 宿主機端口:docker容器端口,將容器端口映射到宿主機上,通過宿主機訪問內部端口 # -v 將宿主機的目錄掛載到容器中去,例子中是將主機的 /host/dir 掛載到容器中的 /my/test # --name  要運行的容器起的名字(--name xxx 與 --name=xxx 是一個意思) # nginx:latest 指定下載的鏡像以及版本

查看所有容器 ID:

docker ps -aq

啟動、停止、殺死、重啟一個容器

docker start Name或者ID docker stop Name或者ID docker kill Name或者ID docker restart name或者ID

進入容器內部,執行任意的命令:

#docker exec :在運行的容器中執行命令 # -d :分離模式: 在後台運行 # -i :即使沒有附加也保持STDIN(標準輸入) 打開,以交互模式運行容器,通常與 -t 同時使用; # -t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用; docker exec -it 容器ID /bin/bash

停止所有容器:

docker stop $(docker ps -a -q)

查看所有已下載的鏡像

docker images

刪除指定鏡像

docker rmi 

從容器複製文件到宿主機:

docker cp nginx:/web/js/file.js /host/path # docker cp 容器名:容器文件的路徑 宿主機的路徑

從宿主機複製文件到容器:

docker cp /host/path/file.js nginx:/web/js # docker cp 宿主機的文件 容器名:容器里的路徑

Docker 的操作有很多,大家可以查看官方的文檔或找找網上的教程。一些如 群暉 NASQNAP 等都會提供類似 Container Station 等圖形界面方便操作。你也可以在 Linux 上部署 Portainer 等 WEB 界面來使用。當然了,如果喜歡,多學習一下 Docker 的命令行操作其實也是不錯的。


想在手機閱讀更多Linux資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems