我是架構師張飛洪,鑽進浩瀚代碼,十年有餘,人不堪其累,吾不改其樂。
我喜歡把玩代碼,琢磨詞句!代碼算法讓我穿透規律,文章摘句讓我洞察人情。
如果你覺得和我的看法不一樣,那我們一定合得來。
Docker翻譯為碼頭工人,有什麼用意?注意看圖!
集裝箱相當於容器,集裝箱≈主程序+依賴包;為了保證自己的程序不受系統等環境影響,發佈的時候,只需要把自己的集裝箱從A船搬運到B船就可以了,這裡的船可以理解成服務器。所以對運維來說,Docker是巨大的福音。因為,可以不用考慮各種不兼容,不用考慮安裝這個漏了那個,只要拿到一個生成集裝箱的模板,即鏡像。可以生成N多的服務了。
如果要用Docker來部署一個GitLab,怎麼做呢?一段代碼的事,請看代碼!
sudo docker run --detach \
--hostname 172.16.0.247 \
--publish 443:443 --publish 80:80 --publish 8888:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
接下來訪問http://172.16.0.247,就可以看到效果了,請看圖示!
這段神奇的代碼都做了什麼?
首先,他會到雲鏡像倉庫,類似AppleStore獲取GitLab鏡像模板,然後根據鏡像啟動一個GitLab容器。注意,容器的啟動和停止都是秒級的。不用於VMware等虛擬機,Docker底層和操作系統是共享資源,很輕量。傳統虛擬機是完全啟動一個獨立系統,特點就是笨、慢。Docker可以在一臺服務器同時啟動上千個虛擬容器,VMware表示望塵莫及。
左圖的虛擬機,做OS上還有三個Guest OS,右邊的容器共享一個OS,知道底層的架構,那麼二則的對比就一目瞭然,獻上對比圖:
Docker的強大你感受到了沒,看官,這是冰上一角,還有更精彩的功能嗎?有,且聽下回分解!
以上是我關於情商的看法,歡迎各位不同的看法和補充。
我是張飛洪,我為今日頭條的讀者寫故事。
我會給你呈現程序員眼中的世界,請關注我!
閱讀更多 IT架構師 的文章