docker容器SSH服务自启动

使用ubuntu容器,会在容器内安装ssh服务,但是会发现当容器重启后,如何实现ssh服务自动重启呢?可以使用Dockerfile参看此处 ,本文介绍一种在docker容器中进行配置的方法

安装ssh服务

  • 检查容器中是否有ssh服务

    $ /etc/init.d/ssh status
    
  • 若没有相关ssh服务,则需进行ssh安装

    $ sudo apt-get install openssh-server
    
  • 设置允许root 远程访问

    # 打开配置文件
    $ vim /etc/ssh/sshd_config
    
    # 在#PermitRootLogin prohibit-password下添加如下内容
    PermitRootLogin yes
    RSAAuthentication yes
    PubkeyAuthentication yes
    
    
  • 重启ssh服务

    $ service ssh restart
    # 或者:
    $ systemctl restart sshd   #由于容器中不能调用 systmctl命令,故命令只在宿主机配置ssh时使用 ,容器中使用service
    
    
  • 配置容器内的用户密码

    $ passwd 
    #该密码可用于远程登录
    

设置开机自启

  • 在宿主机上设置开机自启可动

    $ sudo systemctl enable ssh
    
  • 在容器中设置开机自启动(登陆容器时,即触发)

    # 找到并打开文件/root/.bashrc
    $ vim /root/.bashrc
    # 在.bashrc末尾添加如下代码
    $ service ssh start
    

注:

docker容器在启动的时候,会自动执行的是~/.bashrc文件,所以,环境变量需要配置在该文件内,这样镜像启动时,可自动执行该文件,使环境变量生效。

posted @ 2022-06-22 16:13  teanon  阅读(9626)  评论(0)    收藏  举报