最近经常遇到服务器docker容器异常关闭的情况,导致VSCode无法通过remote-ssh连接到docker,在此记录一下解决方案。
参考链接:
docker容器内服务开机自启动实现方案(以ssh服务为例)

设置docker容器开机自启动

docker update --restart=always 容器名

设置ssh自启动

笔者在这一步遇到了一些问题,由于创建容器时使用的命令类似:

docker run ...   /bin/zsh

使用的不是默认的shell bash而是zsh(oh-my-zsh,同样是一种shell命令行工具),因此解决方案稍微和参考链接中的不一样。

  1. 在 /root 目录下新建一个 start_ssh.sh文件,赋予该文件可执行权限:
touch /root/start_ssh.shchmod +x /root/start_ssh.sh
  1. vim /root/start_ssh.sh,将以下内容粘贴到/root/start_ssh.sh中:
#!/bin/bashLOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/start_ssh.log
service ssh start >>/root/start_ssh.log
  1. 如果默认的shell是bash,则执行vim /root/.bashrc ,本机使用的shell是zsh,因此输入vim /root/.zshrc,在文件末尾添加:
# startup run
if [ -f /root/start_ssh.sh ]; then. /root/start_ssh.sh
fi

因为容器创建时会执行/bin/bash或/bin/zsh命令,所以ssh服务通过第二步创建的脚本也被启动起来了。

docker容器ssh自启动设置相关推荐

  1. 共享内存简介及docker容器的shm设置与修改

    共享内存简介及docker容器的shm设置与修改 共享内存简介 共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存.由于多个CPU需要快 ...

  2. Linux 设置Docker容器开机自启动,Dokcer容器常用命令总结。

    文章目录 Linux Dokcer容器常用命令总结 一.docker 常用基础命令总结 二.工作中常用docker命令 三.查看容器挂载目录 四.容器拷贝文件 五.设置搭建好容器开机自启 六.开启do ...

  3. docker容器IP的设置

    Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定.在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的.我们可以创建自己的bridg ...

  4. Docker容器网络代理设置

    之前已经讲过如何设置Docker守护进程如何设置网络代理,那么如何设置运行的Docker容器的网络代理呢? 设置环境变量 设置容器环境变量,这也是最直接的一种方式.启动容器时,通过设置–env的fla ...

  5. docker容器SSH连接

    实验环境: centos7 [root@docker1 ~]# uname -r 3.10.0-693.el7.x86_64 docker 版本 [root@docker1 ~]# docker ve ...

  6. Ubuntu18 没有/etc/rc.local文件 SSH自启动设置 WSL中和单独ubuntu系统中

    文章目录 WSL中的ubuntu自启动项设置 1. 创建并编辑 /etc/init.wsl 2. 给/etc/init.wsl添加执行权限 3. 编辑sudoers,避免输入密码 4. 在Window ...

  7. 【docker】修改docker容器配置,设置/修改端口映射

    目录 前言 方法1:将容器转换成镜像,用新的镜像创建新的容器 方法2:修改容器配置 方法3:创建新的容器 方法4:nginx stream代理 参考 前言 docker 创建容器时可指定端口映射.但容 ...

  8. Docker容器中GUI软件的远程图形界面交互:mobaXterm+SSH,以脑影像处理软件FSL为例;FSL6.0.3完整安装与可视化;docker容器图形化;远程登录docker容器;

    前言   对docker容器中软件的操作,是基于命令行的,这就导致了习惯图形化界面的人比较难以使用docker,而它又是一个神器,所以很难受.一般情况下,可以给容器安装一个桌面环境,然后用类似VNC的 ...

  9. docker添加新的环境变量_Docker容器环境变量设置与查看

    设置环境变量 在编写Dockerfile时, 我们可以通过ENV来为Docker容器设置相关的环境变量,设置的环境变量在Docker容器中可以通过环境变量来进行引用. Docker容器环境变量设置方法 ...

最新文章

  1. ZooKeeper的配置文件优化性能(转)
  2. 三角函数在线快速计算机,三角函数计算器
  3. 协议森林14 逆袭 (CIDR与NAT)
  4. 万方服务器维护,设备管理与维修 知网、维普、万方
  5. JScharts快速入门
  6. 端口映射原理,公网,内网,NA
  7. ArrayList(Map(k v))相关操作和遍历
  8. 老年人学摄影,装备该如何选择?
  9. leetcode945. Minimum Increment to Make Array Unique
  10. 使用Mysql 5.5数据库Hibernate自动建表创建表出错table doesn't exist
  11. 【Oracle】详解ADDM工具
  12. java 定时还款 技术_详解java定时任务
  13. C#实现Base64编码与解码及编码名称和代码页(Encoding.GetEncoding)
  14. MYSQL无法连接,提示10055错误尝试解决
  15. 构建机器学习系统的20个经验教训
  16. 微信小程序篇(笔记1:wxParse富文本解析的使用)
  17. 什么是敏捷开发(Scrum)?
  18. js正则表达式检验经纬度
  19. 开考!狮子,老虎,企鹅,技术圈的这些飞禽走兽你认识多少?
  20. Camera 360应用隐私数据泄露的分析

热门文章

  1. 解决虚拟机下Ubuntu cheese黑屏问题
  2. 【选择IT培训机构时,我们应该注意的点有哪些?】
  3. 亚马逊短视频的优势在哪里?亚马逊短视频怎样操作推广?
  4. 华科大考研计算机系834大纲之计算机网络(六)
  5. 计算机科学的好处和坏处,电脑的坏处作文(五篇)
  6. 给服务器弄了一个https协议,HTTP和HTTPS协议
  7. 字体画出阴影 android,android之字体阴影效果
  8. Hive CTE与子查询
  9. 【opencv学习手账】1.鼠标相应事件
  10. qlineseries绘制动态曲线_Qt绘制动态曲线