標籤:

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 學習筆記一

TAG:Docker | 编程 |