您好,登錄后才能下訂單哦!
小編今天帶大家了解Linux系統(tǒng)怎么進(jìn)入docker容器,文中知識(shí)點(diǎn)介紹的非常詳細(xì)。覺(jué)得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個(gè)問(wèn)題的朋友找到問(wèn)題的答案,下面跟著小編一起深入學(xué)習(xí)“Linux系統(tǒng)怎么進(jìn)入docker容器”的知識(shí)吧。
登錄容器的方式 | ssh登錄 | 第三方工具(nsenter、nsinit) | docker提供的工具(attach、exec) |
---|---|---|---|
優(yōu)點(diǎn) | 符合平時(shí)登錄服務(wù)器習(xí)慣,不用額外學(xué)習(xí) | 使用方便快捷 | 使用方便快捷 |
缺點(diǎn) | 秘鑰管理ssh升級(jí)監(jiān)控 | 需要學(xué)習(xí)第三方工具使用規(guī)則docker宿主機(jī)root權(quán)限 | 使用attach登錄容器,exit退出容器docker宿主機(jī)root權(quán)限同屏 |
適用范圍 | 適用docker宿主機(jī)登錄至容器內(nèi)部遠(yuǎn)程登錄該容器 | 適用docker宿主機(jī)登錄至容器內(nèi)部 | 適用docker宿主機(jī)登錄至容器內(nèi)部 |
SSH使用方法:ssh用戶@IP地址 -p 端口一般ssh登錄走22端口,但是在docker中bridge網(wǎng)絡(luò)模式使用NAT做端口映射,端口需要特殊標(biāo)注適用范圍:docker宿主機(jī)內(nèi)部登錄容器,外部終端直接登錄容器 優(yōu)點(diǎn):符合管理員、開(kāi)發(fā)者登錄服務(wù)器的習(xí)慣,不需要進(jìn)行額外的學(xué)習(xí) 缺點(diǎn):1.秘鑰管理
如果將秘鑰寫(xiě)到鏡像中,當(dāng)需要更新秘鑰時(shí)需要重新制作鏡像,部署,重啟容器,雖然這個(gè)步驟繁瑣,但是個(gè)人認(rèn)為還是安全的。如果將秘鑰寫(xiě)到卷中,首先要保證該容器沒(méi)有這個(gè)卷的寫(xiě)權(quán)限,否則存在秘鑰被篡改的風(fēng)險(xiǎn)。
2.ssh 升級(jí)或打補(bǔ)丁
ssh 有漏洞或者版本升級(jí)時(shí),需要對(duì)每一個(gè)容器進(jìn)行打補(bǔ)丁或者升級(jí)操作
docker attach
使用方法 :docker attach [container name]
適用范圍: docker 宿主機(jī)內(nèi)部登錄容器
優(yōu)點(diǎn): 快捷方便
缺點(diǎn) : 1.exit 后直接退出該container
\2. 多屏同步 這相當(dāng)于同一時(shí)間最多只能有一個(gè)終端連接容器
docker exec使用方法:docker exec -it [container name] [command]適用范圍:docker宿主機(jī)內(nèi)部登錄容器優(yōu)點(diǎn):快捷方便缺點(diǎn):外部終端無(wú)法使用這種方法登錄容器使用參數(shù)介紹:-i, –interactive Keep STDIN open even if not attached ————交互 -t, –tty Allocate a pseudo-TTY————分配偽終端一般情況會(huì)使用-it這個(gè)組合命令,如果單用也只能單獨(dú)使用-i命令 -i 參數(shù)不會(huì)產(chǎn)生偽終端,但是會(huì)有正確的返回
使用-it時(shí),則和我們平常操作console界面類似。而且也不會(huì)像attach方式因?yàn)橥顺?,?dǎo)致整個(gè)容器退出。這種方式可以替代ssh或者nsenter、nsinit方式,在容器內(nèi)進(jìn)行操作。
nsenter工具
nsenter工具的安裝:
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.28/
tar -xzvf util-linux-2.28.tar.gz
cd util-linux-2.28
./configure –without-ncurses
make nsenter
cp nsenter /usr/local/bin
安裝完成后,使用nsenter —help 命令查看,可以看到使用方法及參數(shù)則證明安裝成功。
使用nsenter 命令登錄docker 容器
在使用nsenter登錄docker 容器時(shí),一般使用前6個(gè)參數(shù)(我看別人都這么寫(xiě)的,想了想原因,可能使用前6個(gè)參數(shù)就可以涵蓋網(wǎng)絡(luò),磁盤(pán),進(jìn)程管理操作系統(tǒng)基本的信息,我嘗試只使用其中一個(gè)或幾個(gè)參數(shù)登錄容器,成功了但是操作系統(tǒng)功能使用上受限制,比如無(wú)法使用網(wǎng)絡(luò)配置功能等)。
感謝大家的閱讀,以上就是“Linux系統(tǒng)怎么進(jìn)入docker容器”的全部?jī)?nèi)容了,學(xué)會(huì)的朋友趕緊操作起來(lái)吧。相信億速云小編一定會(huì)給大家?guī)?lái)更優(yōu)質(zhì)的文章。謝謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。