摘要:為什么要用對開發者來說啟動速度快傳統虛擬機需要數分鐘的啟動時間秒秒鐘啟動。開發者只需要代碼到版本管理即可,接下來的自動測試,自動構建,自動部署都交給吧更輕松的擴展。
1. 前言
“相見恨晚”用來形容我對docker的熱愛再合適不過了,自從用了docker,開發環境也不安裝了,系統想換就換了,部署更是一鍵部署,再也不用擔心在這臺機器上跑的好好的,其它機器有問題了...
寫這篇文章,也是為docker的發展盡自己一點綿薄之力。
適合人群:您使用docker不久;正打算使用docker;還沒有使用過docker。
2. docker是什么docker是容器(引擎)。
容器用來做什么? 裝東西
裝什么?裝你的應用,例如你的博客網站就是一個應用。
3. 為什么要用docker3.1 對開發者來說
</>復制代碼
1 啟動速度快,傳統虛擬機需要數分鐘的啟動時間,docker秒秒鐘啟動。
2 一致的運行環境,用了docker,再也不會出現,為什么在我的電腦運行的好好的,在你的電腦上卻有問題!!
3.2 對運維人員來說
</>復制代碼
1 持續交付和部署。開發者只需要push代碼到版本管理(git)即可,接下來的自動測試,自動構建,自動部署都交給docker吧
2 更輕松的擴展。什么?需要增加機器滿足日益增長的pv需求,有docker-compose 一鍵部署就夠了。
3.3 與傳統虛擬機的比較
4. 如何學習(使用)docker從現在開始,刪除掉你本機上的所有開發環境,包括虛擬機, Vagrant
官方文檔 當然是不二之選
當然,也照顧習慣看中文的朋友:
Docker — 從入門到實踐
</>復制代碼
1 service docker start |stop |restart 啟動 停止 重啟
2 docker run 鏡像名稱:標簽 運行容器 docker -i 交互式操作 docker -t terminal操作
--rm 退出就刪除容器
--name 指定容器名稱
舉例:docker run -it --rm ubuntu:14.04 bash
3 docker images 列出已經下載下來的鏡像portcommit
</>復制代碼
-f dangling= true 顯示 虛懸鏡像(dangling image)
根據倉庫名列出鏡像 docker images "倉庫名"
列出特定的某個鏡像,也就是說指定倉庫名和標簽 docker images "倉庫名:標簽名"
-f在..之前 docker images -f since=mongo:3.2
-f參數 docker images -f label=com.example.version=0.1
只顯示id docker images -q
自定義表格格式 docker images --format "{{.ID}}: {{.Repository}}" 或者 docker images --format "table {{.ID}}
{{.Repository}}
{{.T-pag}}"
4 docker pull 獲取鏡像
</>復制代碼
docker pull ubuntu:14.04
5 docker exec 進入容器
</>復制代碼
docker exec -it webserver bash
6 docker build [選項] 生成的文件名 上下文(context) 構建鏡像
</>復制代碼
例如 : docker build -t nginx:v3 .
7 -p <宿主端口>:<容器端口>
8 docker rmi [選項] <鏡像1> [<鏡像2> ...]
</>復制代碼
注意 docker rm 命令是刪除容器,不要混淆。
9 docker rm 刪除容器
</>復制代碼
docker rm $(docker ps -a -q) 刪除所有容器
6. docker常見問題
1 由于墻的問題導致docker安裝失敗或者各種問題
Docker CE 鏡像源站
2 pull鏡像太慢
Docker 鏡像加速器
3 docker mysql設置初始密碼(docker mysql啟動馬上就自動退出)
</>復制代碼
docker run 加上環境變量參數 -e MYSQL_ROOT_PASSWORD=password1
4 docker redis 設置初始密碼
</>復制代碼
Dockerfile CMD: "redis-server --requirepass "password1""
5 docker cron沒有執行
</>復制代碼
Dockerfile CMD: service cron start
6 docker cron 執行的時候時區不對
</>復制代碼
RUN echo "Asia/Shanghai" > /etc/timezone
或者
同步主機時區
docker run -v /etc/localtime:/etc/localtime
以上兩種是網上搜索到的,我都沒有成功,我目前的解決方案是將crontab -e配置中的時區都往前推8個小時。例如:你本來是要1,9點運行的,設置為1,17
7 docker corn 獲取不了環境變量
</>復制代碼
原因:corn的bash環境變量和docker容器的環境變量不是同一個。
解決:
printenv |grep -v "==" | grep -v " " | sed "s/^(.*)$/export 1/g" > /project_env.sh
&& chmod +x /project_env.sh
&& service cron start
&& bash
兩個grep -v 是為了反正docker-compose link的時候變量變量污染
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/27199.html
摘要:在不懂和等協議的情況下,我直接打個比方來解釋一下什么是請求,以瀏覽器為例,人在瀏覽器輸入,然后敲擊鍵,直到頁面出現,整個過程,我們可以抽象為我們向百度服務器發起的一次請求。更專業,更詳細的解釋,自己去百度學習吧。 前言 ??剛學完python基礎,想學習爬蟲的新手,這里有你想要的東西。??本文著重點在于教新手如何學習爬蟲,并且會以外行人的思維進行形象地講解。最近我一兄弟想學,我就想寫個...
摘要:如果在學習過程中有什么問題可以關注我公眾號琉憶編程庫給我留言。有興趣可以深入學習最后附上學習的知識結構圖譜,可以按著下面的這個知識結構圖進行學習不一定完整,更多資料,面試題,都可以關注公眾號琉憶編程庫獲取。 你好,是我——琉憶。PHP程序員面試系列圖書作者。 作為一名PHP開發者過來人,也是經歷了菜鳥到老手的過程,在此給那些想學PHP的同學指條路,即使你是轉行學PHP一樣可以學會PHP...
摘要:一個小白的成長日記大家好,這是我在飯否的第一篇筆記,先簡單介紹一下自己,我于年在北京工業大學本科畢業,同年月來到法國巴黎工程師學校讀研,在年月畢業后加入了法國興業銀行擔任數據分析師的職位,主要負責數據質量監測,分析,潛在風險預測,前端可視化 一個小白的成長日記 大家好,這是我在飯否的第一篇筆記,先簡單介紹一下自己,我于2016年在北京工業大學本科畢業,同年9月來到法國巴黎Efrei工程...
摘要:我從今年的月份開始在知乎上連續回答前端開發相關的問題,至今已有將近三個月,回顧寫過的一百多條回答,不少是給迷茫的前端工作者的建議。今天我把我的思考提煉整理成文,希望能給予在迷茫中前行中的前端學習工作者一些有用的建議。 本文首發于知乎專欄——前端指南作者:Mark MFS老師轉載請注明來源。 我從今年的2月份開始在知乎上連續回答前端開發相關的問題,至今已有將近三個月,回顧寫過的一百多條回...
閱讀 3708·2021-11-11 10:58
閱讀 2492·2021-09-22 15:43
閱讀 2878·2019-08-30 15:44
閱讀 2201·2019-08-30 13:08
閱讀 1831·2019-08-29 17:28
閱讀 895·2019-08-29 10:54
閱讀 686·2019-08-26 11:46
閱讀 3516·2019-08-26 11:43