简介:docker容器化可以使得环境相对独立,减少污染。在遇到关机重启时,重新启动显得很鸡肋,特别是必须开机自启动的程序,添加必要的参数使得每次重启后可以开始使用容器非常有必要。

历史攻略:

centos7.6:安装docker

win10:安装docker和测试安装redis

Ubuntu:安装docker + 设置开机启动

设置开机启动docker:

systemctl enable docker

设置容器自动重启

1、创建容器时设置

docker run -itd --restart=always --name 容器名 使用的镜像:版本

docker 容器的重启策略:

--restart具体参数值详细信息:no: 默认策略,容器退出时不重启容器;on-failure: 在容器非正常退出时(退出状态非0)才重新启动容器;on-failure:3  在容器非正常退出时重启容器,最多重启3次;always: 无论退出状态是如何,都重启容器;unless-stopped: 在容器退出时总是重启容器,
但是不考虑在 Docker 守护进程启动时就已经停止了的容器。

2、修改已有容器,通过update设置

如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)

运行结果:

(base) root@ci4vyvxi:~# docker ps -a
CONTAINER ID   IMAGE                                COMMAND                  CREATED       STATUS                    PORTS                                   NAMES
9dfb678e42c0   tomrunrunrun888/websiteguide:1.0.1   "sh /entrypoint.sh"      3 weeks ago   Up 9 days                 0.0.0.0:8000->80/tcp, :::8000->80/tcp   websiteguide
6086859131c3   ubuntu:latest                        "/bin/bash"              4 weeks ago   Exited (137) 9 days ago                                           ssh-demo
07636c8ccd6e   openspug/spug-service                "/entrypoint.sh"         7 weeks ago   Up 9 days                 0.0.0.0:8006->80/tcp, :::8006->80/tcp   spug
27df7e413c07   mariadb:10.8.2                       "docker-entrypoint.s…"   7 weeks ago   Up 9 days                 3306/tcp                                spug-db
(base) root@ci4vyvxi:~# docker update --restart=always 6086859131c3
6086859131c3
(base) root@ci4vyvxi:~# reboot       ## 重启 ##
Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(36.40.91.202) at 21:40:08.Type `help' to learn how to use Xshell prompt.
[C:\~]$ Connecting to xxxxxx:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-137-generic x86_64)Last login: Sun Jan 15 21:12:55 2023 from 117.140.118.233
(base) root@ci4vyvxi:~# docker ps -a
CONTAINER ID   IMAGE                                COMMAND                  CREATED       STATUS          PORTS                                   NAMES
9dfb678e42c0   tomrunrunrun888/websiteguide:1.0.1   "sh /entrypoint.sh"      3 weeks ago   Up 37 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp   websiteguide
6086859131c3   ubuntu:latest                        "/bin/bash"              4 weeks ago   Up 38 seconds   0.0.0.0:1234->22/tcp, :::1234->22/tcp   ssh-demo
07636c8ccd6e   openspug/spug-service                "/entrypoint.sh"         7 weeks ago   Up 37 seconds   0.0.0.0:8006->80/tcp, :::8006->80/tcp   spug
27df7e413c07   mariadb:10.8.2                       "docker-entrypoint.s…"   7 weeks ago   Up 37 seconds   3306/tcp                                spug-db

设置docker、容器开机启动相关推荐

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

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

  2. 为什么k8s中docker容器的启动命令必须是前台执行?

    k8s中docker容器的启动命令(在yaml的command字段中配置)必须是前台执行,不能使用后台执行程序, nohup ./start.sh & 否则kubelet创建了包含这个容器的p ...

  3. linux fedora35设置双系统开机启动顺序

    linux fedora35设置双系统开机启动顺序

  4. Linux设置 cockpit 自动开机启动

    本文章向大家介绍CentOS7 设置 cockpit 自动开机启动,主要包括CentOS , Fedora , RedHat 设置 cockpit 自动开机启动使用实例.应用技巧.基本知识点总结和需要 ...

  5. Linux系统 设置 cockpit 自动开机启动时异常问题处理(设置systemctl enable cockpit 异常【解决办法】)

    Linux系统 设置 cockpit 自动开机启动时异常问题处理 问题系统: Centos7 Fedora29 RedHat7 systemctl enable cockpit 时,会出现如下错误: ...

  6. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法

    Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务) 注意:rc.local脚本里面启动的用户默认为root权限. 一. ...

  7. 如何设置Docker容器的CPU和内存使用限制

    如何设置Docker容器的CPU和内存使用限制 1. 概述 在很多情况下,我们需要限制docker主机上资源的使用. 在本教程中,我们将学习如何设置docker容器的内存和CPU限制 2. 通过doc ...

  8. windows 设置 java 程序开机启动 + 崩溃重启

    前言 有时我们需要把写好的 java 程序部署在 Windows 系统的服务器上,如果服务器被人为重启,或者程序由于未知原因自己崩溃了,程序不能自动重启,用户体验很不好.接下来介绍一种可行的解决方案: ...

  9. 安装docker和docker的开机启动及容器的开机自启

    前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS ...

最新文章

  1. mysql多实例(三种方法)
  2. 微星主板超频_微星垄断AMD、Intel平台内存超频记录 ITX小板惊人
  3. Python之IO编程
  4. iphone相册怎么加密_iOS限免推荐|视频滤镜和转场、专属加密应用、照片动画等共 5 款...
  5. PeerJS 0.1.7:一个用于浏览器内P2P的WebRTC封装器
  6. XenApp_XenDesktop_7.6实战篇之二十一:Linux Virtual Desktop 1.0(下篇)
  7. caffe特征可视化---python实现
  8. continue语句只用于循环语句中_流程控制(跳转语句)
  9. PHP文件操作-读取数据库文件路径复制到另一个目录
  10. JS高级程序设计——阅读笔记六
  11. 记录repast4py环境配置
  12. 20170306 小兵的觉悟就是好好吃饭
  13. 文件服务器和ftp服务器的区别
  14. scikit-learn KNN实现糖尿病预测
  15. 奇葩需求系列-距离明天十二点倒计时
  16. android自动夜间模式吗,Android夜间模式的实现方案
  17. Oracle数据库查询有多少表格,Oracle数据库的表有多大呢?
  18. ROS2 基础概念 参数
  19. vs2005 sp1 补丁的安装问题
  20. matlab中数组的声明,如何使用Matlab声明矩阵数组

热门文章

  1. uniapp 开始编译,就卡住了
  2. [Unity3D]海岛奇兵金币等资源收取效果
  3. 高博士科普丨机器人的火眼金睛——传感器
  4. [渝粤教育] 宁波工程学院 工程图学 I 参考 资料
  5. wpf inkcanvas customink 毛笔效果
  6. AMD ubuntu系统踩坑(联想小新锐龙)
  7. PowerDesigner16.5安装图解
  8. jpg,png,gif图片格式的区别和优劣
  9. 《中国经营报》:“科技业务”拆分独立 广西农信“带路”职能转变
  10. byte数组与字符串之间相互转换