V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
qazwsxkevin
V2EX  ›  Linux

已经做好的 docker 容器,如何在 docker start 容器时,里面的 ssh 服务也跟随启动?

  •  
  •   qazwsxkevin · 2023-02-27 17:55:17 +08:00 · 1911 次点击
    这是一个创建于 658 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚学习和用上 docker 几天,用 hub.docker 的公共镜像,创建了自己的容器(testrq),配好了实验环境,正确弄好 sshd 服务,操作机也能 ssh 上来了,
    请教的问题是,我每次退出了这个 test 容器( exit code 139),再开启这个容器的时候,我是以:

    docker start testrq
    

    开启容器,这样开启 docker 容器,里面的 ssh 服务不能自动启动,
    我在网上看到的例子,是改 bashrc 的判断启动,但未能成功,是不是不适合我这周启动方式?
    请教正确的启动内部 ssh 服务方法? 谢谢!

    11 条回复    2023-03-01 15:13:19 +08:00
    piku
        1
    piku  
       2023-02-27 17:58:47 +08:00 via Android
    不理解你在说什么。
    请检查容器启动时启动的究竟是什么命令,EXEC=?
    还有一种可能是你的宿主机占用了 22 端口,容器也配的 22 端口
    riggzh
        2
    riggzh  
       2023-02-27 18:01:25 +08:00
    没这个需求-。-,你是用什么作为基础启动的,那就去用什么系统的启动脚本。至于端口能不能映射出来,是你的容器设置
    qazwsxkevin
        3
    qazwsxkevin  
    OP
       2023-02-27 18:07:51 +08:00
    我是用
    docker run -d --name testrq -p 65001:22 testos:v1
    创建容器的,
    在容器里启动 ssh 服务的时候,外机是能 ssh 上来的
    但容器退出后,再 docker start 容器,ssh 服务不会自动起来
    benzalus
        4
    benzalus  
       2023-02-27 18:19:16 +08:00
    设置容器启动命令为开启 sshd 。这样得到容器后就有 sshd 服务
    疑问:为啥要用 sshd 呢,不能通过 docker exec 达成类似效果吗
    SbloodyS
        5
    SbloodyS  
       2023-02-27 18:21:34 +08:00
    可以通过--init 的方式将启动脚本和主进程绑定起来

    https://docs.docker.com/engine/reference/run/
    lovelylain
        6
    lovelylain  
       2023-02-27 18:29:52 +08:00 via Android
    看下 entrypoint 是什么,一层层排查,docker 本身应该没什么区别,可能容器内残留文件影响了
    tyrantZhao
        7
    tyrantZhao  
       2023-02-27 18:38:00 +08:00
    需要写个 dockerfile
    huangmingyou
        8
    huangmingyou  
       2023-02-28 08:45:42 +08:00
    用容器就要转换思路,不能当成一个随时要登陆的系统来用。
    julyclyde
        9
    julyclyde  
       2023-02-28 08:57:50 +08:00
    1 容器不是虚拟机,而是“用后即弃”的应用程序
    2 不要在容器里运行多个服务
    3 搞明白 bashrc 是在什么场景被调用的
    bai4246464
        10
    bai4246464  
       2023-02-28 09:10:45 +08:00
    看看镜像是不是自带 sshd 的,带的话排查端口
    不带的话自己用 dockerfile 打个镜像
    piku
        11
    piku  
       2023-03-01 15:13:19 +08:00
    看起来是 entrypoint 的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4333 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:03 · PVG 12:03 · LAX 20:03 · JFK 23:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.