问题描述
正在本地运行jenkinsci/blueocean docker,按照jenkins.io上的docker运行jenkins的说明进行操作。一切似乎都正常工作,但是当用户使用docker exec进入docker时,无法使用sudo命令,并且无法为jenkins用户创建一个带有.ssh目录的主目录。
用户想知道是否有人有在这个docker镜像上设置基本ssh配置的经验。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
您可以在容器中作为ENTRYPOINT
运行一个ssh服务器。它可以在前台启动:
ENTRYPOINT ["/usr/sbin/sshd", "-D","-p","22"]
确保您已经安装了openssh
并设置了主机密钥。
这个Ansible角色可能会有所帮助:https://github.com/AAROC/CODE-RADE-container
方案2
请注意,通过SSH访问容器不是jenkins agent的设计目的,它更适用于使用JNLP连接。如果您真的想要设置SSH连接,但需要额外的工作。
方案3
请注意,Jenkins主节点和从节点通常不使用SSH进行身份验证。如果您想要使用SSH连接到远程服务器执行某些操作,这是一个不常见的用法。
正文完