你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
mountkin
赞同来自: Misul 、william 、[已注销] 、lincoln_alex 、sampson_docker 、styshoo更多 »
docker exec -it CONTAINER_NAME_OR_ID /bin/sh
icebolt - Docker爱好者暗黑
赞同来自: Misul 、wisen 、简简单单shilinyan
shlallen - DaoCloud软件工程师,合伙人
赞同来自: Misul
CDocer - 90宅男
赞同来自:
肥龙GOR - 运维攻城师@eJ0y
简简单单shilinyan
reboot
houht - 云计算,大数据方向研发
cannyco
要回复问题请先登录或注册
9 个回复
mountkin
赞同来自: Misul 、william 、[已注销] 、lincoln_alex 、sampson_docker 、styshoo更多 »
<ol><li>如果容器里没有运行sshd,可以登录宿主机后执行
docker exec -it CONTAINER_NAME_OR_ID /bin/sh
</li><li>可以在容器里运行个sshd,通过SSH客户端登录。 但由于是用的host网络,所以容器里的sshd进程无法使用默认端口,需要修改其配置文件把端口改成非22端口</li></ol>icebolt - Docker爱好者暗黑
赞同来自: Misul 、wisen 、简简单单shilinyan
为什么要ssh连接容器呢,通过docker exec多好。
shlallen - DaoCloud软件工程师,合伙人
赞同来自: Misul
使用ssh连接容器的时候,容器如果有sshd进程在运行的时候,才能成功。
如果在Docker镜像中没有sshd的可执行文件;假设有,但是在docker的entrypoint或者cmd中没有指定启动sshd进程的话,容器中就不会有sshd进程,自然ssh会失效。
使用docker exec是一个比较好的方法。
CDocer - 90宅男
赞同来自:
不建议连接ssh,要连接ssh的话需要把免密码登录给注释掉,启动容器时root用户的密码是随机分配的,还不如先ssh到宿主机,然后通过docker exec
肥龙GOR - 运维攻城师@eJ0y
赞同来自:
docker build的时候把opensshd搞进去,然后使用一个集中式的openldap做认证,这是我的做法。
简简单单shilinyan
赞同来自:
赞赞赞
reboot
赞同来自:
dockerfile里把ssh服务装上,然后新建了用户自己设置密码,或者自己改一下root密码。
houht - 云计算,大数据方向研发
赞同来自:
首先容器开启sshd服务,其次保证物理机的22端口没被占用
cannyco
赞同来自:
大佬们,问下我外网用navicate连接的时候不是用ssh登陆,然后再连接数据库吗,这个要怎么解决啊。