Docker-创建支持ssh服务的镜像

这里测试tomcat镜像安装ssh服务

1.启动镜像

[[email protected] docker]$ docker run -d  tomcat:centos
844bdde121a03174f3abd226a9ef286938b6ea4a1fbd2659961b1e8542ca3ccd
[[email protected] docker]$ docker exec -it 844 /bin/bash
[[email protected] /]#

2.安装ssh服务

[[email protected] /]# yum -y install openssh-server

3.要正常启动服务必须存在"/var/run/sshd"目录,创建它

[[email protected] /]# mkdir /var/run/sshd

4.启动sshd服务

[[email protected] /]# /usr/sbin/sshd -D &
[1] 118

5.查看启动端口

[[email protected] /]# lsof -i:22
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    118 root    3u  IPv4 207270      0t0  TCP *:ssh (LISTEN)
sshd    118 root    4u  IPv6 207272      0t0  TCP *:ssh (LISTEN)

6.将宿主机的公钥导入到/root/.ssh/authorized_keys目录下

[[email protected] /]# mkdir root/.ssh
[[email protected] /]# vi /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApcDYVQ7JdPYwyWzdna/T2Z41wRypL+zJQt0zA3hbf6kZMI6gmPTsDl1t37swyj
xtlLK1Saiq5rE12gL7qfIsfR5Vwunmj4uKXfNBjSh472GXJOpHPB+Wz28Xf53Yc0x589YSdkE3lsJ8EFpdQntuETj4q47905ji
ZEjaukAp+uy6qNLTXaaTLUzod4Y8t9h5KbqYKfE+wfnVrfpSJhzVTLPSJ7NiBtQTccMCQkxeNYgtaBPLh7I3OmA1hsoDuRbDcX
9RivGLkrdct0WT7W/IFPhdF2vHZ6QRTvYw3B6//RYFK7/nkRJglvsERyPJdUCU340xNiplCepR3yaxSMSmpw== [email protected]

7.编辑ssh服务可执行文件

[[email protected] /]# vi run.sh
#/bin/bash
/usr/sbin/sshd -D &

8.给run.sh可执行权限

chmod 755 /run.sh

9.查看是否生成了主机密钥,没有则生成

[[email protected] ssh]# rm -rf ssh*key
[[email protected] ssh]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
[[email protected] ssh]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
[[email protected] ssh]#  ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

10.保存镜像

docker commit 91f tomcat-sshd

11.运行镜像

docker run --name tomcat--ssh -d -p 100022:22 -p 8090:8080 3364 /run.sh

12.可以在宿主机和其它机器进行连接了

[email protected] ~]$ ssh 192.168.0.80 -p 10022
The authenticity of host ‘[192.168.0.80]:2222 ([192.168.0.80]:2222)‘ can‘t be established.
RSA key fingerprint is 03:15:c4:ab:97:ea:7e:58:3b:3d:22:42:db:50:a3:46.
Are you sure you want to continue connecting (yes/no)? yesy
Warning: Permanently added ‘[192.168.0.80]:2222‘ (RSA) to the list of known hosts.
[[email protected] ~]# 
时间: 2024-10-09 00:52:05

Docker-创建支持ssh服务的镜像的相关文章

docker创建支持ssh服务的centos镜像

以centos为基础,目的使用ssh服务远程连接docker容器 环境:宿主机centos7,直接搜索docker的centos镜像,下载最新版本 1.先按照docker:yum install -y epel-release yum install -y docker 2.启动docker: systemctl start docker.service 3.使用ps查看docker是否启动 ps aux |grep docker 4.下载centos的docker镜像 docker pull

Docker创建支持ssh服务的容器和镜像

Dockerfile 支持系统启动 运行ssh 服务 原文链接:http://blog.csdn.net/kongxx/article/details/38395305 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "[email protected]" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y ope

Docker:使用Dockerfile创建支持SSH服务的镜像

1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run.sh # ls 2. 编写run.sh脚本和authorized_keys文件 # vi run.sh 写入内容: #! /bin/bash /usr/sbin/sshd –D 在宿主主机上生成SSH密钥对,并创建authorized_keys # ssh-keygen –t rsa # cat

创建支持SSH服务的镜像

一.基于commit命令创建 docker commit CONTAINER [REPOSITORY [:TAG]] 1.使用ubuntu镜像创建一个容器 docker run -it ubuntu /bin/bash 2.配置软件源 [email protected]:/# cp /etc/apt/sources.list /etc/apt/sources.list.bak [email protected]:/# apt-get update [email protected]:/# apt

docker基于Dockerfile命令创建支持ssh服务的镜像

首先,创建一个sshd_centos工作目录: [[email protected] ~]# mkdir sshd_centos [[email protected] ~]# cd sshd_centos [[email protected] sshd_centos]# touch Dockerfile run.sh [[email protected] sshd_centos]# ssh-keygen -t rsa [[email protected] sshd_centos]# cat ~/

Docker创建支持MySQL服务的镜像

#本地已有镜像 FROM docker.io/centos #作者信息 MAINTAINER liangyj "[email protected]" #安装依赖工具 RUN yum install -y gcc gcc-c++ make autoconf ncurses-devel #下载cmkae ADD   /usr/local/src #编译安装cmake WORKDIR /usr/local/src RUN tar xzvf cmake-3.0.2.tar.gz WORKDIR

Docker创建支持Nginx服务的镜像

#本地已有镜像 FROM docker.io/centos #作者信息 MAINTAINER liangyj [email protected] #安装包文件 RUN yum install -y gcc pcre pcre-devel zlib zlib-devel bzip2 bzip2-devel make #下载并解压nginx WORKDIR /usr/local/src RUN wget http://nginx.org/download/nginx-1.8.0.tar.gz RUN

Docker创建支持php服务的镜像

#本地已有镜像 FROM docker.io/centos #作者信息 MAINTAINER liangyj [email protected] #安装epel-release RUN ["yum","install","-y","epel-release"] #安装php RUN yum install -y php #安装php-fpm RUN yum install -y php-fpm #暴露端口 EXPOSE 900

Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

1. 首先创建一个Dockerfile文件,文件内容如下 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "[email protected]" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh-server sudo RUN sed -i 's/UsePAM yes/UsePAM no/g' /

创建支持ssh服务的docker容器和镜像

http://www.kongxx.info/blog/?p=57 1. 这里使用的centos作为容器,所以首先下载centos的imagessudo docker pull centos 2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash 3. 安装openssh-server服务软件包yum install openssh-server