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

首頁(yè) > 服務(wù)器 > Web服務(wù)器 > 正文

創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法

2024-09-01 13:55:27
字體:
供稿:網(wǎng)友

摘要:通常Linux系統(tǒng)管理員通過SSH服務(wù)來管理OS,但Docker的很多鏡像是不帶SSH服務(wù)的,可以通過attach(遇到假死的現(xiàn)象)或者exec(目前測(cè)試ok)的方法進(jìn)入容器來管理,但是這些命令都無法解決遠(yuǎn)程管理容器的問題,因此,當(dāng)需要遠(yuǎn)程登陸到容器內(nèi)進(jìn)行一些操作的時(shí)候,就需要SSH的支持了。本文記錄如何使用docker commit創(chuàng)建一個(gè)帶有SSH服務(wù)的ubuntu鏡像。

(1) 首先以交互的方式運(yùn)行我們本地的ubuntu容器

docker run -it ubuntu:14.04 /bin/bash

(2) 嘗試使用sshd命令,會(huì)發(fā)現(xiàn)容器中沒有安裝該服務(wù)。

sshdbash: sshd: command not found

(3) 使用apt包管理器安裝openssh-server

apt-get updateapt-get install openssh-server

(4) 安裝和配置SSH服務(wù)

要正常啟動(dòng)SSH服務(wù),需要目錄/var/run/sshd存在,手動(dòng)創(chuàng)建它,并啟動(dòng)服務(wù):

mkdir -p /var/run/sshd/usr/sbin/sshd -D &

此時(shí)查看容器的22端口(SSH服務(wù)器默認(rèn)監(jiān)聽的端口),已經(jīng)處于監(jiān)聽狀態(tài):

SSH,Docker,鏡像

(5) 修改SSH服務(wù)的安全登陸配置

在遠(yuǎn)端客戶端機(jī)器(即,非容器機(jī)器)執(zhí)行命令 ssh-keygen -t rsa 生成rsa的公私密鑰對(duì),然后把公鑰的信息拷貝到運(yùn)行ubuntu容器機(jī)器的授權(quán)文件中:

mkdir /root/.sshvi /root/.ssh/authorized_keys # 粘貼客戶端的公鑰信息

(6) 創(chuàng)建自啟動(dòng)SSH服務(wù)的可執(zhí)行文件run.sh

vi /run.shchmod +x /run.sh

腳本內(nèi)容如下:

#!/bin/bash/usr/sbin/sshd -D

(7) 最后退出容器,并將當(dāng)前修改后的容器保存為一個(gè)新的鏡像

在宿主主機(jī)執(zhí)行命令 docker ps -a 查看容器的運(yùn)行狀態(tài),可以得到剛才退出容器的container id,記住id前三位。

然后執(zhí)行提交命令,保存新的鏡像:

docker commit $(container id前三位) ubuntu_sshd_gerry:14.04

此命令提交后,會(huì)生成一個(gè)新的鏡像id*(image id)和新的鏡像 ubuntu_sshd_gerry:14.04(支持ssh服務(wù)的ubuntu鏡像)

最后,可以使用 docker images 查看本地的鏡像是否已經(jīng)包含我們新創(chuàng)建的鏡像 ubuntu_sshd_gerry:14.04。

SSH,Docker,鏡像

(8) 使用新鏡像和配置端口映射

啟動(dòng)容器,并添加端口映射 10022(宿主主機(jī)端口)---> 22(容器內(nèi)部SSH服務(wù)監(jiān)聽端口):

docker run -p 10022:22 -d ubuntu_sshd_gerry:14.04 /run.sh

啟動(dòng)后,可以在宿主主機(jī)上看到容器運(yùn)行的詳細(xì)信息:

SSH,Docker,鏡像

(9) 在宿主主機(jī),或者其他遠(yuǎn)程主機(jī),使用SSH訪問10022端口來登陸容器,測(cè)試OK

SSH,Docker,鏡像

補(bǔ)充說明:

對(duì)一個(gè)鏡像打一個(gè)新的tag的方法(只是tag不一樣,實(shí)際是同一個(gè)image,因?yàn)閕mage id是一樣的):

docker tag $(image id) ubuntu_sshd_gerry:14.04

然后將老的tag刪除掉:

docker rm $(container id)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到服務(wù)器教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兰坪| 全南县| 探索| 长阳| 长宁县| 堆龙德庆县| 富源县| 金塔县| 蚌埠市| 思茅市| 湾仔区| 东港市| 永胜县| 习水县| 巫山县| 甘泉县| 清丰县| 安义县| 左云县| 隆昌县| 武乡县| 谢通门县| 勐海县| 南开区| 梁平县| 锦州市| 佳木斯市| 郁南县| 独山县| 六盘水市| 岑溪市| 卫辉市| 涟水县| 原阳县| 赞皇县| 锡林浩特市| 中卫市| 宽城| 中牟县| 临颍县| 寻甸|