建立帶ssh的docker映象

2021-10-01 20:11:59 字數 1602 閱讀 6626

建立ubuntu映象,為建立ssh映象做準備

sudo docker pull ubuntu

1、建立目錄結構

mkdir sshd_ubuntu

touch dockerfile run.sh

ls #檢視目錄

2、編寫run.sh和authorized_keys檔案

#!/bin/bash

/usr/sbin/sshd -d

在宿主主機上生成ssh密匙對,並建立authorized_keys檔案

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub > authorized_keys

3、編寫dockerfile

from ubuntu:latest

maintainer from www.dockerpool.com by waitfish ([email protected])

run apt-get update

run apt-get install -y openssh-server

run mkdir -p /var/run/sshd

run mkdir -p /root/.ssh

run sed -ri 's/session    required    pam_loginuid.so/#session    required    pam_loginuid.so/g' /etc/pam.d/sshd

add authorized_keys /root/.ssh/authorized_keys

add run.sh /root/run.sh

run chmod 755 /root/run.sh

expose 22

cmd ["/root/run.sh"]    

4、建立映象

在sshd_ubuntu目錄下使用docker build命令建立映象

cd sshd_ubuntu

sudo docker build -t sshd:ubuntu .

5、sshd映象已經存在

sudo docker images

6、使用剛剛建立的映象,建立容器

sudo docker run -d -p 10122:22 sshd:ubuntu

7、在宿主主機開啟乙個終端,連線容器

ssh [email protected] -p 10122

如果出現問題could not connect to '192.168.6.196' (port 22): connection failed.

解決方法:

配置/etc/ssh/sshd_config

將permitrootlogin 改為yes,去掉passwordauthentication yes前的#

建立支援ssh服務的docker映象

容器裡面執行以下操作 1 apt get install openssh server 2 mkdir p var run sshd 3 修改 etc ssh sshd config rsaauthentication yes 啟用 rsa 認證 pubkeyauthentication yes 啟...

建立ssh自啟動服務的docker映象

首先編寫dockerfile from ubuntu 14.04 設定時間和語言環境變數 env tz asia shanghai env lang zh cn.utf 8 安裝ssh服務端openssh server 和 程序管理工具supervisor run apt get update ap...

《轉》建立支援SSH服務的Docker映象

2015 01 18 wcdj 摘要 通常linux系統管理員通過ssh服務來管理os,但docker的很多映象是不帶ssh服務的,可以通過attach 遇到假死的現象 或者exec 目前測試ok 的方法進入容器來管理,但是這些命令都無法解決遠端管理容器的問題,因此,當需要遠端登陸到容器內進行一些操...