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

Linux上如何安裝並使用Docker

Mar 13, 2018 am 09:14 AM
dockerlinux使用

本文主要和大家主要介紹了在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
超越炒作:評估當今PHP的角色超越炒作:評估當今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

PHP中的弱參考是什麼?什麼時候有用?PHP中的弱參考是什麼?什麼時候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

解釋PHP中的__ Invoke Magic方法。解釋PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

解釋PHP 8.1中的纖維以進行並發。解釋PHP 8.1中的纖維以進行並發。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區:資源,支持和發展PHP社區:資源,支持和發展Apr 12, 2025 am 12:04 AM

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP與Python:了解差異PHP與Python:了解差異Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

php:死亡還是簡單地適應?php:死亡還是簡單地適應?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來:改編和創新PHP的未來:改編和創新Apr 11, 2025 am 12:01 AM

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具