SegmentFault 技術周刊 Vol.5 - Docker丨Build, Ship, Run, and Monitor
啪嗒啪嗒,啪嗒啪嗒,聽到後排動感十足的清脆鍵盤響,我就能猜到公司程序員定是被新分配了任務,進入思緒在前帶路,手指跟著編程的忘我進階,只需一會,屏幕就會出現他們華麗的詩篇。
「喲,這回被分了啥任務?」我走到天才00後旁邊輕聲問道,生怕分貝一高,他就走火入魔了。
「也沒什麼,就 70 讓我實現 beta 環境容器化。」此刻的00後手指依舊飛速地敲打鍵盤,絲毫沒有要停不下來意思。
「好了」,過了好一陣子,他轉頭和我說道,「以後提交代碼到 gitlab,觸發 webhook 將代碼部署到測試伺服器,就可以根據前後端不同的分支組合的域名來訪問,再也不需要前後端代碼都合併到 master 分支才能進行測試。」
「嘖嘖,那 docker 用起來感覺怎麼樣?」我又多問了一句。
「挺方便的。」「有沒有要噴的?」我繼續關心。「不噴。」
聽完00後的描述,我不禁想起了他最近洋洋洒洒寫的幾篇 docker 實踐系列文章,既然 docker 大法如此深得人心,小編也順帶收集了社區中 docker 相關的文章,並整理為周刊。
閱讀本期技術周刊,你不光能弄明白什麼是 docker,使用 docker 的意義何在,還將被傳授「Dockerize」秘籍,以達「build and run any app, anywhere」的境界。
What & Why?
從 docker 的官方文檔開始,讓初識 docker 的你形成初步的概念,感受 docker 帶來的便利。
- adolphlwq - 了解什麼是 Docker
- Aomine - [Docker 官方文檔] 理解 Docker
- 吳yh堅 - 後端的輪子(四)—- 容器
- 大舒 - 8 個你可能不知道的 Docker 知識
How to Dockerize?
總覺著淺淺了解不夠過癮?以下,還為你準備了基礎教程和進階教程,不光能再次鞏固 docker 基礎,還將切身感受 docker 的優勢,將 docker 做到最大化的利用。此外,更結合容器、鏡像、服務三方面內容,增強你的 docker 功力。
基礎教程 - Flux7 Docker 系列教程 by 大舒
- Flux7 Docker 系列教程(一):Docker 簡介
- Flux7 Docker 系列教程(二):必備的 15 條命令
- Flux7 Docker 系列教程(三):使用 Dockerfile 實現自動化
- Flux7 Docker 系列教程(四):Registry & Workflows
- Flux7 Docker 系列教程(五):Docker 安全
- Flux7 Docker 系列教程(六):另外十五條 Docker 命令
- Flux7 Docker 系列教程(七):Docker API
- Flux7 Docker 系列教程(八):Docker Remote API
- Flux7 Docker 系列教程(九):用於鏡像操作的 10 個 Docker Remote API
進階教程 - Docker 實踐 by Tairy
- Docker 實踐(一):了解架構
- Docker 實踐(二):使用教程
- Docker 實踐(三):Mac 下構建 Rails 開發環境
- Docker 實踐(四):Beta 環境容器化
鏡像、容器和服務
- 怎樣構建一個好的 Docker 鏡像
- 深入 Docker:容器和鏡像
使用 SSH 和 shell 腳本部署 Docker 鏡像
Working with Containers
- Managing Data in Containers
- Linking Containers Together
- Docker多容器連接
- 創建儘可能小的 Docker 容器
手動構建 WordPress 的 Docker 容器
Docker 自動化 Nginx 反向代理
- Docker 資源管理
Build and Run Any App, Anywhere
閱讀完上面的分享,對於 docker,相信你已胸有成竹了,但為達到終極目標「Build and Run Any App, Anywhere」,光有知識是不夠的,那麼接下來大量的實踐案例,微服務、集群等相關內容,可助你在日後的實際操作中信手拈來。
Docker 實踐
- 黑血沸騰 - 使用 Docker 搭建前端 Java 開發環境
- 山河永寂 - PHP 開發的 Docker 實踐
- HarryZhu - [原]海納百川 有容乃大:SparkR與Docker的機器學習實戰
- 劉陽龍Herman - Docker 環境 Storage Pool 用完解決方案:resize-device-mapper
- yexiaobai - 使用 Prometheus 監控 Docker 容器、使用 Etcd 和 Haproxy 做 Docker 服務發現
- OneAPM - [譯] 如何使用 Docker 組件開發 Django 項目?
- 陌辭寒 - [譯] 如何在雲服務提供商的平台上使用Docker Machine
- 肆意的青春 - Docker 和虛擬機的一些對比 [翻譯]
微服務
- 微店技術 - 虛擬化實踐 - 微店技術團隊
- 力譜宿雲 - 微服務實戰:從架構到發布(一)微服務實戰:從架構到發布(二)
- Carrotzpc - 高質量 Node.js 微服務的編寫和部署
- 艾彥波 - 在 Docker 上運行一個 RESTful 風格的微服務
- 數人云 - 論微服務安全
集群
- seanlook - 在ubuntu上部署Kubernetes管理docker集群示例
- yexiaobai - 使用 Docker, 7 個命令部署一個 Mesos 集群
- 劉陽龍Herman - Docker結合Jenkins的持續構建實踐、基於kubernetes的docker集群實踐
_ _ _ _n__ _____| | | __| | ___ _ __ ___ | |n / / / _ | | / _` |/ _ | _ / _ | |n V V / __/ | | | (_| | (_) | | | | __/ |_|n _/_/ ___|_|_| __,_|___/|_| |_|___| (_)nnnnn ## .n ## ## ## ==n ## ## ## ## ===n /""""""""""""""""___/ ===n ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~n ______ o __/n __/n __________/nn | |n __ | __ __ | _ __ _n / | / / |/ / _ |n __/| __/ __ |_ __ |n
至此,你已掌握足夠的 docker 知識,就差動手了 _(ゝ??:)?
往期周刊傳送門:Vol.1 - Vue.js 起手式 | Vol.2 - 666,ES6丨Vol.3 - 前後端分離與前端工程化丨Vol.4 - 這份 Android 有點甜
# SegmentFault 技術周刊 #
「技術周刊」是社區特別推出的技術內容系列,一周一主題。周刊篩選的每篇內容,是作者的獨到見解,踩坑總結和經驗分享。
每周二更新,歡迎「關注」或者「訂閱」。大家也可以在評論處留言自己感興趣的主題,推薦主題相關的優秀文章。
? 本文版權歸作者 SegmentFault 所有,文中提及所有文章版權歸原文作者所有,任何形式轉載請聯繫作者。
推薦閱讀:
※在linux中做.NET開發是怎樣一種體驗?
※如何用計算幾何模型畫一束玫瑰花?
※python中,條件判斷過多是否會影響程序的運行速度?
※深度學習入門:投身深度學習你需要哪些準備?
※Golang 學習筆記一