使用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文件,所以,环境变量需要配置在该文件内,这样镜像启动时,可自动执行该文件,使环境变量生效。