溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Dockerfile創(chuàng)建支持ssh服務(wù)自啟動(dòng)的容器鏡像

發(fā)布時(shí)間:2022-03-24 16:49:53 來(lái)源:億速云 閱讀:462 作者:iii 欄目:web開(kāi)發(fā)

本文小編為大家詳細(xì)介紹“如何使用Dockerfile創(chuàng)建支持ssh服務(wù)自啟動(dòng)的容器鏡像”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何使用Dockerfile創(chuàng)建支持ssh服務(wù)自啟動(dòng)的容器鏡像”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

1. 首先創(chuàng)建一個(gè)dockerfile文件,文件內(nèi)容如下

# 選擇一個(gè)已有的os鏡像作為基礎(chǔ)
from centos:centos6

# 鏡像的作者
maintainer fanbin kong "kongxx@hotmail.com"

# 安裝openssh-server和sudo軟件包,并且將sshd的usepam參數(shù)設(shè)置成no
run yum install -y openssh-server sudo
run sed -i 's/usepam yes/usepam no/g' /etc/ssh/sshd_config 

# 添加測(cè)試用戶admin,密碼admin,并且將此用戶添加到sudoers里
run useradd admin
run echo "admin:admin" | chpasswd
run echo "admin  all=(all)    all" >> /etc/sudoers

# 下面這兩句比較特殊,在centos6上必須要有,否則創(chuàng)建出來(lái)的容器sshd不能登錄
run ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

# 啟動(dòng)sshd服務(wù)并且暴露22端口
run mkdir /var/run/sshd
expose 22
cmd ["/usr/sbin/sshd", "-d"]

dockerfile文件有自己的語(yǔ)法和命令,具體可以參考docker的官方文檔。

2. 有了dockerfile文件以后,就可以根據(jù)dockerfile來(lái)創(chuàng)建image文件了,在dockerfile所在的目錄下,運(yùn)行下面的命令

sudo docker build -t centos6-ssh .

命令成功后,就會(huì)創(chuàng)建一個(gè)名字為centos6-ssh的image,可以使用“sudo docker images”來(lái)查看。

3. 此時(shí)就可以根據(jù)上面創(chuàng)建出來(lái)的image文件來(lái)創(chuàng)建自己的容器了,下面的命令會(huì)創(chuàng)建一個(gè)名字為“mytest”的容器。

sudo docker run -d -p --name=mytest centos6-ssh

4. 有了容器,就可以測(cè)試我們的ssh服務(wù)了。

4.1 運(yùn)行“sudo docker inspect mytest”,查看當(dāng)前啟動(dòng)容器ip地址,然后運(yùn)行下面的命令來(lái)測(cè)試

ssh admin@<容器ip>

4.2 另外,也可以通過(guò)docker的端口映射來(lái)訪問(wèn), 使用“sudo docker port mytest 22”查看當(dāng)前容器的22端口對(duì)應(yīng)的宿主機(jī)器的端口,然后通過(guò)下面的命令來(lái)訪問(wèn)

ssh admin@<宿主機(jī)器ip> -p <宿主機(jī)器端口>

讀到這里,這篇“如何使用Dockerfile創(chuàng)建支持ssh服務(wù)自啟動(dòng)的容器鏡像”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI