首頁 後端開發 php教程 Linux上如何安裝並使用Docker

Linux上如何安裝並使用Docker

Mar 13, 2018 am 09:14 AM
docker linux 使用

本文主要和大家主要介紹了在Linux上安裝和使用Docker的方法,小編覺得挺不錯的,現在分享給大家,希望能幫助到大家。

Docker 使得建立、部署,和管理容器變得特別簡單。更好的是,安裝和使用 Docker 在 Linux 平台上特別的方便。

我將會向你示範在 Linux 上安裝 Docker 是多麼方便,同時帶你入門 Docker。我的演示平台是 Ubuntu 16.04 Server,但流程在大多數其它 Linux 平台都差不多。

我這裡假設你已經啟動了 Ubuntu Server 16.04。

安裝

由於 Ubuntu Server 16.04 缺少圖形介面,我會完全透過命令列來安裝和使用 Docker。在你安裝前,你需要更新 apt 然後進行必要的升級。一定要注意,若係統核心升級了,你會需要重新啟動系統。因此最好挑個伺服器能重啟的時間進行。

執行下方指令更新apt:


sudo apt update
登入後複製

完成後,使用指令升級系統:


##

sudo apt upgrade
登入後複製

若核心升級了,你需要用下面指令重啟伺服器:


sudo reboot
登入後複製

若核心沒有升級,你就可以安裝Docker 了(無需重新啟動)。安裝Docker 的指令為:


sudo apt install docker.io
登入後複製

若你使用的是其它Linux 發行版,當嘗試用對應的套件管理器來安裝時卻發現沒有docker.io 套件,則你應該安裝docker 套件。例如,在 Fedora 上安裝應該使用指令:


sudo dnf install docker
登入後複製

如果你使用的是 CentOS 7,那麼最好使用安裝腳本來安裝 docker。首先使用指令 sudo yum check-update 更新系統。升級完後,輸入下方指令下載並執行所需的腳本:


curl -fsSL https://get.docker.com/ | sh
登入後複製

預設情況下,只有管理員權限能夠執行 docker 指令。考慮到安全性問題,你不會想用 root 使用者或使用 sudo 來運行 Docker 的。要解決這個問題,你需要將自己的使用者加入 docker 群組。命令如下:


sudo usermod -a -G docker $USER
登入後複製

完成操作後,登出系統然後再重新登錄,應該就搞定了。不過如果你的平台是 Fedora,則加入使用者到 docker 群組時會發現這個群組是不存在的。那該怎麼辦呢?你需要先創建這個組。指令如下:


sudo groupadd docker && sudo gpasswd -a ${USER} docker && sudo systemctl restart docker
newgrp docker
登入後複製

登出後再登入。就可以開始用 Docker 了。

啟動,暫停以及啟用 Docker

安裝好 Docker 後,你可以讓系統在啟動時自動啟動 Docker 守護程式。使用下面兩個指令來實現這一點:


sudo systemctl start docker
sudo systemctl enable docker
登入後複製

若需要暫停或重新啟動Docker 守護進程,則指令為:


sudo systemctl stop docker
sudo systemctl restart docker
登入後複製

現在可以用Docker 部署容器了。

拉取映像

對 Docker 來說,映像就是建置容器的基石。你可以拉下一個鏡像(例如 NGINX)然後根據這個鏡像部署任意多個容器出來。在使用鏡像前,你首先需要把鏡像拉取到系統中。映像從註冊倉庫中拉取,預設安裝好的Docker 包含了一個預設的註冊倉庫Docker Hub —— 這個註冊倉庫包含了大量別人所貢獻的鏡像(既包括官方的鏡像,也包括用戶自己貢獻的鏡像)。

假設你想要拉取一個 Nginx Web 伺服器相關的映像。在開始拉取前,先檢查系統中已經有了哪些鏡像。輸入 docker images 指令你會發現現在還沒有鏡像存在(圖 1)。

圖 1:還沒有鏡像。


讓我們來拉取一個鏡像。使用下面命令可以從 Docker Hub 下載 Nginx 映像:


docker pull nginx
登入後複製

上面命令會從 Docker Hub 下載最新的(官方的) Nginx 映像。現在再執行 docker images 指令就能看到有列出映像了(圖 2)。

圖 2:NGINX 映像已經被拉取下來了。


注意到我這裡說的是「官方」 Nginx 鏡像了嗎?在 Docker Hub 上有很多的非官方 Nginx 映像。這些非官方鏡像都是基於各種不同的目的而創建的。你可以使用下面過指令來搜尋 Docker Hub 中的所有 Nginx 映像:


docker search nginx
登入後複製

你会发现(图 3 中),有很多基于不同目的所创建的 Nginx 镜像(反向代理、PHP-FPM(LCTT 译注:FastCGI 进程管理器FastCGI Process Manager是一个 PHPFastCGI 管理器,旨在将 FastCGI 进程管理整合进 PHP 包中)功能、LetsEncrypt(LCTT 译注:由 ISRG 提供的免费 SSL 项目),Bitnami,在树莓派上使用的 Nginx 和 Drupal,等等很多很多)。


图 3:Docker Hub 上找到的各种 NGINX 镜像。

假设,你想要下载内建有反向代理功能的 Nginx 镜像,有个非官方的镜像 jwilder/nginx-proxy。因此输入下面命令来拉取这个镜像:


docker pull jwilder/nginx-proxy
登入後複製

再输入 docker images 命令来查看新拉下来的这个镜像(图 4)。

图 4:已经有了两种不同的 NGINX 镜像了。

处于谨慎考虑,我建议只使用官方镜像,毕竟你无法确定非官方镜像是否包含了恶意代码。

有了镜像后就可以用它来部署容器了。下次我们再聊聊如何通过这些 Nginx 镜像来发布容器。

Docker 是一个超级强力的系统可以让你的工作更简单,让你的公司更具有伸缩性,也更灵活。想知道 Docker 还能做什么,运行 man docker 然后阅读它的帮助文档吧。

相关推荐:

使用docker基于daocloud自动化部署到自己的主机

如何使用Docker部署PHP开发环境

关于如何使用docker构建php的开发环境

以上是Linux上如何安裝並使用Docker的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

如何設置重要的 Git 配置全局屬性 如何設置重要的 Git 配置全局屬性 Apr 17, 2025 pm 12:21 PM

自定義開發環境的方法有很多種,但全局 Git 配置文件是最有可能用於自定義設置(例如用戶名、電子郵件、首選文本編輯器和遠程分支)的一種。以下是您需要了解的有關全局 Git 配置文件的關鍵事項。

See all articles