国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

在Docker容器中不需要運行sshd的原因淺析

2019-11-02 16:27:10
字體:
供稿:網(wǎng)友

當(dāng)開始使用Docker時,人們經(jīng)常問:“我該如何進入容器?”,其他人會說“在你的容器里運行一個SSH服務(wù)器”。但是,從這篇博文中你將會了解到你根本不需要運行SSHd守護進程來進入你的容器。當(dāng)然,除非你的容器就是一個SSH服務(wù)器。

運行SSH服務(wù)器是很想當(dāng)然的,因為它提供了進入容器的簡便方式。在我們公司基本上每個人都最少使用過一次SSH。我們中有很大一部分人每天都會使用它,并且他們很熟悉公鑰與私鑰,無密碼登錄,密鑰代理,甚至有時會使用端口轉(zhuǎn)發(fā)和其他不常用的功能。正因如此,人們建議你在容器中運行SSH并不奇怪。但你應(yīng)該仔細考慮下。

假設(shè)你正在假設(shè)一個Redis Server或Java Webservice的Docker鏡像, 我會問你以下幾個問題:

你需要用SSH來做什么? 一般來說, 你想做備份, 檢查日志, 或者重啟進程, 調(diào)整配置, 還有可能用gdb, strace或其他類似的工具來debug服務(wù)器。那我們會看一下我們怎么不使用SSH來做這些事情。

你怎么管理你的密鑰和密碼的?一般來說,你要么把它們寫到你的鏡像中,要么就把它們放在一個卷中。你想一下如果你要更新這些密鑰或密碼你會怎么做呢。如果你把它們寫到鏡像里了,你就需要重建鏡像,重新部署它們,然后重啟容器。這還好,不算是世界末日,但是這絕不是一個高大上的方法。把它們放到卷中,然后通過管理卷來管理它們倒是比前一種好得多。這種方法是可用的,可是卻有嚴重的缺陷。你必須要確認容器沒有這個卷的寫權(quán)限;否則,容器有可能會破壞密鑰(這讓你之后就進不去容器了),如果你再用一個卷共享給多個容器的話,情況會變得更糟。如果不用SSH,我們不就少一個需要擔(dān)心的事了嗎?

你如何管理安全升級呢?SSH服務(wù)器是挺安全的,但是仍然會有安全問題,你會在必要的時候不得不升級所有使用SSH的容器。這意味著大量的重建和重啟。也就是說,及時你有一個簡單小巧的memcached服務(wù),你還是不得不確保及時的安全更新,否則千里之堤可能毀于蟻穴。所以還是這句話,如果不用SSH,我們不就少一個需要擔(dān)心的事了嗎?

你需要“僅安裝一個SSH服務(wù)器”來達到目的嗎?當(dāng)然不。你需要加裝進程管理器,比如Monit或者Supervisor。這是因為Docker自己只會監(jiān)視一個進程。如果你需要運行多個進程,你就必須在上面加裝一層可以看著他們的應(yīng)用。換句話說,你在把簡單問題復(fù)雜化。如果你的應(yīng)用停了(正常退出或者崩潰),你必須要從你的進程管理日志里面去查看,而不能簡單的查看Docker提供的信息。

你可以負責(zé)把應(yīng)用放到容器中,但你是否應(yīng)該同時負責(zé)管理訪問策略和安全限制呢?在小機構(gòu)中,這都不是事。但是在大型機構(gòu)中,如果你是負責(zé)設(shè)立應(yīng)用容器的人,那很可能有另外一個人負責(zé)定義遠程訪問策略。你所在的公司很可能有嚴格的策略定義說明誰能訪問,如何訪問或者其他各種審查跟蹤的要求。那樣的話,你肯定不會被允許把一個SSH服務(wù)器扔進你的容器中。

但我該如何做…

備份我的數(shù)據(jù)?

你的數(shù)據(jù)應(yīng)該存在于 volume中. 然后你可以使用--volumes-from選項來運行另一個容器,與第一個容器共享這個volume。這樣做的好處:如果你需要安裝新的工具(如s75pxd)來將你備份的數(shù)據(jù)長期保存,或?qū)?shù)據(jù)轉(zhuǎn)移到其他永久存儲時,你可以在這個特定的備份容器中進行,而不是在主服務(wù)容器中。這很簡潔。

檢查日志?

再次使用 volume! 如果你將所有日志寫入一個特定的目錄下,且這個目錄是一個volume的話,那你可以啟動另一個log inspection" 容器(使用--volumes-from,還記得么?)且在這里面做你需要做的事。如果你還需要特殊的工具(或只需要一個有意思的ack-grep),你可以在這個容器中安裝它們,這樣可以保持主容器的原始環(huán)境。

重啟service?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 荣昌县| 农安县| 安乡县| 永新县| 霍林郭勒市| 洪湖市| 林西县| 土默特右旗| 昔阳县| 德保县| 扬中市| 铅山县| 富锦市| 灌南县| 通化市| 石屏县| 峨眉山市| 浦县| 辽阳县| 延安市| 沂水县| 阿瓦提县| 时尚| 焦作市| 阜平县| 综艺| 嘉峪关市| 瑞安市| 连江县| 天台县| 政和县| 咸丰县| 宁乡县| 长子县| 都匀市| 昆山市| 获嘉县| 西华县| 梓潼县| 天柱县| 呼伦贝尔市|