摘要:對程序員來說,阻礙幸福感最大的因素應該是那個偉大的墻了。所幸國內有或者阿里云這樣的云服務商提供鏡像加速服務,可直接搜索鏡像加速,添加這些服務商提供的地址即可。
對程序員來說,阻礙幸福感最大的因素應該是那個偉大的墻了。
本文對 docker 系統配置過程中,國內使用的一些加速的辦法做一些記錄和總結,希望能給有需要的人帶來微小的幫助。
Docker for mac下載 Docker for mac 安裝包,需要焚香沐浴,三拜九叩,等待網速最快的時候,點擊下載鏈接,如果再配上一個好點的梯子,可能運氣好的話,能順利下載到。
當然我一般會選擇去找土豪同事用他的超級梯子下載好 U盤拷過來。
Docker Docs使用 Docker 最佳教程應該是 Docker 官方文檔 了,但是沒梯子的狀態下訪問速度基本上很慢,還好這份文檔是開源的 docker-docs ,可以自己 clone 下來,然后執行 docker-compose up 便可以在localhost:4000離線瀏覽了。
docker pull如果你想使用 docker hub 官方鏡像,很明顯直接是使用不了的。所幸國內有 Daocloud 或者阿里云這樣的云服務商提供鏡像加速服務,可直接 Google 搜索“daocloud 鏡像加速”,添加這些服務商提供的 registry-mirror 地址即可。
docker build如果是直接依賴基礎的操作系統鏡像來構建,例如 Ubuntu,一般默認的軟件源都是會受到干擾的,所以可以在 Dockerfile 中加入:
COPY sources.list /etc/apt/sources.list
然后把阿里云或者中科大的源地址寫入 sources.list 中,放置在 Dockerfile 同一目錄下即可。
國內的源雖然加速,但是有時候不穩定,所以 build 的時候如果發現是源的問題,可以切換成另外的多次嘗試。
注:不同的操作系統可能sources.list的路徑不盡相同
Rails 環境配置如果是直接以來基礎的操作系統鏡像構建 Rails 環境,可能會在多處遇到速度被干擾的問題。
1. 安裝 rbenv安裝 rbenv,由于 github 速度不穩定,可能會導致出錯,解決辦法就是先將 git://github.com/sstephenson/rbenv.git 倉庫clone 到本地,然后在 Dockerfile 中加入:
COPY rbenv /root/.rbenv2. 使用 rbenv
rbenv 的源也基本上是沒法使用的,可以使用 Rubychina 的加速鏡像:
RUN git clone https://github.com/andorchen/rbenv-china-mirror.git /root/.rbenv/plugins/rbenv-china-mirror
當然如果發現 github clone 不了也可以先 clone 到本地再 COPY 的辦法。
3. gem 源gem 的源國內也是沒法用的,可以使用淘寶的源,在執行 gem install 之前加上這句
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/PHP 環境配置
一般 php 環境還是需要安裝一些擴展的,但是過程還是很曲折的。
1. memcached 擴展目前 pecl 站還沒有適配 php7 的 memcached 的安裝包,所以只能自己手動從 github 上 clone 編譯了,當然 memcached 擴展這么大的體量,想直接在 build 過程中從 github 上 clone 幾乎是不可能的,解決辦法還是 clone 到本地,然后 COPY 進去,或者如果有自己的 gitlab 倉庫的話,可以在 gitlab 中創建一個項目,然后 import form github,這樣以后就可以直接從自己的倉庫中 clone, 相當于做了一個鏡像。
2. pecl像 redis,mongodb,imagick 這種擴展,是可以用 pecl 安裝的,但是,還是不穩定,時不時的就報錯某個擴展找不到,具體原因大家都清楚,應該是網絡請求超時了。
解決辦法就是把這些擴展的源代碼下載到本地,COPY 到容器中,然后用 pear 安裝。
# 注意這里的 path 指的是容器里面的 path pear install /path/to/ext.tgz
注:pear 是 PHP 擴展的離線安裝工具
3. composer 加速在執行 composer update 的前面加上這句:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
以上所有問題的根源都來源于一個大家都知道的原因,總之解決辦法就是:
找國內鏡像
用梯子下載到本地,想辦法離線安裝
希望本文能為你的 Docker 之路提升幸福感。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26767.html
摘要:使用有一段時間了,打算把自己實踐過程中的一些理解和感悟記錄下來。目錄實踐一了解架構實踐二使用教程實踐三下構建開發環境實踐四環境容器化實踐五生產環境容器化實踐六容器監控實踐七提升幸福感實踐八構建開發環境實踐九生產環境優化參考源碼分析系列文章 使用 docker 有一段時間了,打算把自己實踐過程中的一些理解和感悟記錄下來。 系列文章發布在 SegmentFault 上我的專欄 Tairy,...
摘要:不要用百度搜索中文資料,一定要看最新的英文資料。感謝感謝能容忍我無數次搞掛生產環境的老板。群蝸牛大神所建中文交流群,基本配置過程中遇到的問題都能得到解決。 前言 最近花了將近一個月的時間研究了 Docker 在生產環境中的使用,作為新手,期間走了無數的彎路,這里紀錄一下,希望給別人帶來微小的幫助。 前面幾部分,介紹了在搭建集群之前需要做的一些工作,后面 一塊結合實際應用,介紹如何架構...
摘要:又一篇來自日常開發的匯總各位客官請對號入席,店小二逐一上菜。解決方案有很多種,例如把字符串數組等重組對象數組,每個元素設置一個唯一等。另外有個方式推薦使用生成唯一的數組,和數據數組一起使用,省去提交數據時再重組數組。 又一篇來自日常開發的匯總:各位客官請對號入席,店小二逐一上菜。 第一道菜:回鍋肉 react數組循環,基本都會設置一個唯一的key,表格的對象數組循環一般沒什么問題,數據...
摘要:不過今兒與往年不同的是昨晚突然發高燒,今兒都沒能去上班,感謝我的小可愛在照顧我。尤其要感謝小可愛,給了我很多支持。在這一年里小可愛的廚藝越來越棒,美滋滋,嘿嘿。 年底了,慣例做個小回顧,對這一年做個總結,也對下一年大致做個規劃。 不過今兒與往年不同的是昨晚突然發高燒,今兒都沒能去上班,感謝我的小可愛在照顧我。這篇文章也是躺在床上用手機編輯的。 還是按照慣例從工作,生活兩方面來說。先聊聊...
閱讀 3759·2021-11-25 09:43
閱讀 2191·2021-11-23 10:13
閱讀 823·2021-11-16 11:44
閱讀 2369·2019-08-29 17:24
閱讀 1384·2019-08-29 17:17
閱讀 3480·2019-08-29 11:30
閱讀 2584·2019-08-26 13:23
閱讀 2345·2019-08-26 12:10