我已经通过Dockerfile构建了GlassFish 4.1 docker容器,详情请参见此处 http://bderzhavets.blogspot.com/2015/01/dockerfile-for-glassfish-41.html
Glassfish本身运作良好,但是
*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
No SSH host key available. Generating one...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Creating SSH2 ECDSA key; this may take some time ...
Creating SSH2 ED25519 key; this may take some time ...
invoke-rc.d: policy-rc.d denied execution of restart.
尝试ssh
ssh -v root@localhost -p 49160
OpenSSH_6.4, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Local version string SSH-2.0-OpenSSH_6.4
. . . . . . . .
ssh_exchange_identification: Connection closed by remote host
我不知道如何解决问题,显示在日志中并影响ssh连接。
答案 0 :(得分:0)
Docker的理念是每个容器有一个服务。一些基本图像使您很难启动服务,这可能是您经历过的。我建议重新考虑你的方法并问自己为什么需要ssh守护进程?也许你只想使用docker exec?或者也许你最好通过构建一个带有流浪者的VM盒子,为你提供多种服务?
答案 1 :(得分:0)
由于图像错误/ baseimage没有为https://github.com/phusion/baseimage-docker提供准备好的sshd守护程序,我尝试了这里提到的解决方法https://github.com/phusion/baseimage-docker#login_ssh并得到: -
[root@junolxc ~]# docker run -d -p 49160:22 -p 49161:4848 -p 49162:8080 -p 49163:8181 boris/docker-glassfish41 --enable-insecure-key
693176ea6596bf33b880dc0f58250f47fe2e35ed95f44fcd80a62eeaa3fe17a4
2015/01/08 12:26:32 Error response from daemon: Cannot start container 693176ea6596bf33b880dc0f58250f47fe2e35ed95f44fcd80a62eeaa3fe17a4: exec: "--enable-insecure-key": executable file not found in $PATH
我刚刚通过添加到Dockerfile来攻击系统: -
RUN echo "/usr/sbin/sshd > log &" >> /etc/my_init.d/00_regen_ssh_host_keys.sh
另一个不接触00_regen_ssh_host_keys.sh的选项 在构建文件夹脚本01_sshd_start.sh
中创建#!/bin/bash
/usr/sbin/sshd > log &
and insert in Dockerfile:-
ADD 01_sshd_start.sh /etc/my_init.d/
我相信端口22已经忙于系统服务“sshd”运行最后一次黑客攻击对我没什么帮助。但是,确实如此。我声明该系统由于某些原因没有按原样提供SSHD。