欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年08月15日 13:41:59   作者:delphiwcdj  
這篇文章主要介紹了創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

docker run -it ubuntu:14.04 /bin/bash

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

sshd

bash: sshd: command not found

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

apt-get update


apt-get install openssh-server

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

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

mkdir -p /var/run/sshd

/usr/sbin/sshd -D &

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


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

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

mkdir /root/.ssh

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

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

vi /run.sh

chmod +x /run.sh

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

#!/bin/bash

/usr/sbin/sshd -D

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

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

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

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

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

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


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

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

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

啟動后,可以在宿主主機上看到容器運行的詳細(xì)信息:


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


補充說明:

對一個鏡像打一個新的tag的方法(只是tag不一樣,實際是同一個image,因為image id是一樣的):

docker tag $(image id) ubuntu_sshd_gerry:14.04

然后將老的tag刪除掉:

docker rm $(container id)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何將java項目打包成docker鏡像并且可運行

    詳解如何將java項目打包成docker鏡像并且可運行

    java?項目打包成?Docker?可運行的鏡像,其目的是便于運用docker容器來管理項目,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-11-11
  • Docker創(chuàng)建enrollment token錯誤異常解析及解決方案

    Docker創(chuàng)建enrollment token錯誤異常解析及解決方案

    部署完kibana,需要通過enrollment token方式來連接elasticsearch,此時需要在elasticsearch中創(chuàng)建enrollment token,這篇文章主要介紹了Docker創(chuàng)建enrollment token錯誤異常解析及解決方案,需要的朋友可以參考下
    2024-04-04
  • Docker搭建RabbitMQ集群的方法步驟

    Docker搭建RabbitMQ集群的方法步驟

    本文主要介紹了Docker搭建RabbitMQ集群的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • docker鏡像管理命令詳解

    docker鏡像管理命令詳解

    這篇文章主要介紹了docker鏡像管理命令,我們也可以使用命令來搜索鏡像,比如我們需要一個tomcat的鏡像來作為我們的web服務(wù),我們可以通過 docker search 命令搜索tomcat來尋找適合我們的鏡像,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-07-07
  • Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    數(shù)據(jù)卷有兩種形式,一種是容器中的某個目錄,它可以被別的容器引用,只要有一個容器引用了這個數(shù)據(jù)卷,數(shù)據(jù)就不會被刪除;另一種數(shù)據(jù)卷是將容器中的數(shù)據(jù)卷和宿主機的目錄進(jìn)行掛載。 數(shù)據(jù)卷可以在多個容器之間共享,修改數(shù)據(jù)卷不會影響鏡像
    2021-07-07
  • Docker load之后鏡像名字為none問題解決方法

    Docker load之后鏡像名字為none問題解決方法

    這篇文章主要介紹了Docker load之后鏡像名字為none問題解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • docker 報錯 Exited (1) 4 minutes ago的原因分析

    docker 報錯 Exited (1) 4 minutes ago的原因分析

    這篇文章主要介紹了docker 報錯 Exited (1) 4 minutes ago的原因分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker安裝nacos并配置數(shù)據(jù)庫的全過程

    docker安裝nacos并配置數(shù)據(jù)庫的全過程

    這篇文章主要給大家介紹了關(guān)于docker安裝nacos并配置數(shù)據(jù)庫的相關(guān)資料, Nacos是SpringCloudAlibaba架構(gòu)中最重要的組件,Nacos 是一個更易于幫助構(gòu)建云原生應(yīng)用的動態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺,文中介紹的非常信息,需要的朋友可以參考下
    2023-09-09
  • Docker啟動鏡像就自動退出問題及解決

    Docker啟動鏡像就自動退出問題及解決

    這篇文章主要介紹了Docker啟動鏡像就自動退出問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問題,需要在容器的啟動腳本中,加入 trap 指令,來完成容器在退出前需要做的所有事情,本文通過腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-12-12

最新評論