原创 Django容器(上): 自定義基礎鏡像

開始之前 某個 Python 項目,基於 Python:3.6 與 Django:1.11 框架開發,希望項目能夠容器化,然後可以通過 docker-compose 等工具編排容器/應用,本篇文章的目標是自定義Django基礎鏡像。 與《爲

原创 如何使用 Dockerfile自定義鏡像?

開始之前 之前在隔壁專題(公衆號出門左轉 Nginx專題) 推送過一篇文章 Nginx 緩存服務器(番外)定製Docker鏡像 我們將 ngx_cache_purge模塊添加到自定義的 Nginx鏡像中,避免每次創建容器後再次安裝 ngx

原创 如何刪除無效的<none>Docker鏡像?

開始之前 爲什麼會有 none 這樣命名的鏡像? 這些鏡像 docker 稱爲 虛懸鏡像,當鏡像被新的鏡像覆蓋時候,老版本鏡像名稱會變成 none 。 例如當前docker宿主機已經存在 nginx:latest 鏡像,而不久後 dock

原创 爲什麼Docker鏡像大小與倉庫中不一致?

開始之前 如果仔細觀察你會發現,Docker宿主機中某個鏡像所佔用的磁盤空間和在 Docker Hub(倉庫)上看到的鏡像大小是不同的,例如 golang:1.9 在 Docker Hub (倉庫)顯示的是 272MB,而鏡像下載後doc

原创 如何使用docker數據卷?

開始之前 如果你有一些需要持續更新的數據並且希望持久化數據,或者需要在不同的容器之間共享數據,再者需要主機與容器之間共享數據,那麼你可以使用數據捲來滿足這些需求。 數據卷定義 數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,

原创 如何拷貝Docker容器內的文件?

開始之前 某個項目容器需要添加 wkhtmltopdf 軟件包用於處理html與pdf文件轉換,由於默認的apt源服務器在國外,使用apt 安裝 wkhtmltopdf 時下載速度只有感人的幾kb/s。 我們需要更換一個國內的apt鏡像地

原创 如何查找Docker中使用磁盤空間最多的容器?

背景描述 測試環境某臺Docker主機觸發磁盤空間報警,經過排查與分析發現是某個docker容器內的應用日誌過大導致的,下面是具體的排查步驟。 環境描述 日誌文件: php容器 stderr日誌 PHP容器: 使用 php:5.6-fpm

原创 如何統計Docker容器資源狀態?

開始之前 如何統計某個容器佔用的資源信息? docker 提供了 stats子命令,用於瞭解當前運行容器的資源使用情況,包括:CPU、內存、網絡IO、磁盤IO、等資源使用情況。 環境描述 Docker 1.10.3 on CentOS 7

原创 如何獲得Docker容器進程的ID?

開始之前 在某些情況下,比如系統負載很高 docker stop 無法關閉某個容器(無響應),這時可以根據容器進程的ID找到宿主機進程ID,然後kill掉這個容器(最好已經使用了數據卷數據持久化,否則容器內數據有丟失風險)。 操作步驟

原创 如何設置Docker容器重啓策略?

開始之前 宿主機可能會因某些原因(如宕機)重新啓動,默認情況下docker容器是停止狀態的,這可能會對某些應用場景帶來不便,所以docker提供了--restart參數,在創建容器時設置此參數,docker守護進程將重新啓動容器。 舉個栗

原创 如何爲Docker容器設置環境變量?

開始之前 上一篇文章介紹瞭如何創建一個Docker容器,本篇文章(2017-08)介紹如何設置Docker容器環境變量,例如示例中的時區環境變量,需要注意的是容器的環境變量需要在創建容器時指定,容器時運行無法添加或者更改。 問題描述 發現

原创 創建一個Docker 容器

開始之前 之前公衆號發佈了三篇關於Docker鏡像與倉庫的文章,如果需要閱讀可以在微信[公衆號]後臺回覆 鏡像 獲得文章鏈接,接下來讓我們創建第一個docker容器。 本篇文章使用兩個例子來講解 docker 常用的命令,包括 run, p

原创 Docker 倉庫 Harbor

開始之前 之前寫過兩篇關於Docker倉庫的文章,把Docker鏡像裝到倉庫需要幾步? 與 沒有Docker倉庫還能分發鏡像嗎?,今天講講如何部署一個私有倉庫,主角是大名鼎鼎的 VMware開源項目 Harbor,VMware公司估計大家都

原创 沒有Docker倉庫還能分發鏡像嗎?

導入與導出 首先明確的是建議優先使用Docker倉庫,特別是對於Docker集羣而言 Docker倉庫非常重要,但是某些應用場景下比如單機環境下使用docker-compse編排應用,如果沒有鏡像倉庫是不是就不能把docker鏡像分發給其它

原创 把 Docker鏡像裝到倉庫需要幾步?

只需要三步 docker tag 爲鏡像打標記 docker login 登陸遠程倉庫 docker push 推送本地鏡像 爲鏡像打標記 使用docker tag 命令爲鏡像打上標記,比如爲網易蜂巢(已改名網易雲)鏡像倉庫推送鏡像,首先需