Docker学习4-学会如何让容器开机自启服务
前言
小龙亲测重启服务器后 docker 容器没跑起来,相信有不少小伙伴在用docker部署容器的时候也发现每次开机服务就没有自启了,需要手动去执行把容器服务开启起来,但有没有可以让它开机自启呢?显然是有的。
一、收集需要自启的容器id或name
1、以mysql5.7的容器name为例,查询容器:
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" days ago Exited () minutes ago mysql
2、根据上面的容器name,我们手动运行启动一下,可多个。
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker start mysql
mysql
3、查看已运行的容器,可以看到我们手动是这样的一个操作来完成启动
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" minutes ago Up minutes /tcp, 0.0.0.0:->/tcp mysql
二、利用 shell 脚本来完成手动运行容器命令
1、增加一个sh脚本:vi start.sh
[root@iZbp19lugf22zbsubsf1y6Z ~]# vi start.sh
2、编辑一个启动命令把保存退出即可,容器name为例:docker start mysql

3、自测一下运行 start.sh 脚本,可以正常启动没问题的。
[root@iZbp19lugf22zbsubsf1y6Z ~]# . start.sh
mysql
三、认识能开机自启的文件:/etc/rc.d/rc.local
1、我们将 . start.sh 脚本添加至:/etc/rc.d/rc.local
echo ". ~/start.sh">> /etc/rc.d/rc.local
2、查看是否已添加:cat /etc/rc.d/rc.local

3、设置 rc.local 文件权限:chmod +x /etc/rc.d/rc.local
[root@iZbp19lugf22zbsubsf1y6Z ~]# chmod +x /etc/rc.d/rc.local
[root@iZbp19lugf22zbsubsf1y6Z ~]#
4、完成上面的操作后,就可以:reboot 试一下啦,连接后查看运行中容器:docker ps。
[root@iZbp19lugf22zbsubsf1y6Z ~]# reboot Press Ctrl+C to cancel or Enter to reconnect immediately.
Reconnecting in seconds...
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" minutes ago Up seconds /tcp, 0.0.0.0:->/tcp mysql
显然这一操作很有必要学会哦,不然每次重启都需要手动去启动,是在太麻烦了。以前是我不会,但是最后还有一种更方便是自带的方法:
创建容器时添加参数自启: --restart=always
如果前面已经创建容器了那么可以这样:docker container update --restart=always 容器名字
欢迎来QQ交流群:482713805
Docker学习4-学会如何让容器开机自启服务的更多相关文章
- Docker学习(四): 操作容器
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...
- Docker 学习基本操作与守护式容器
Docker 学习基本操作与守护式容器 容器操作 运行容器 docker run --name指定名字 -istdin -ttty虚拟终端 在终端中用 exit 即可退出容器,并结束运行 查看容器 p ...
- Docker学习(九)Volumn容器间共享数据
Docker学习(九)Volumn容器间共享数据 volume是什么 volume在英文中是容量的意思, 在docker中是数据卷的意思,是用来保存数据的容器 为什么要进行数据共享 在集群中有多台to ...
- 如何管理linux开机自启服务
如何管理linux开机自启服务? 自启动服务非常重要,例如 (1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入(2)安装某些程序后,自动加到自启动了,但我们不需要,需要手 ...
- Docker学习笔记之镜像与容器
0x00 概述 镜像和容器作为 Docker 里最基础的概念,我们很有必要了解 Docker 对它们的很多定义以及其他与它们有关的知识.在这一小节里,我们就专门针对镜像与容器两个概念展开,细致的梳理与 ...
- Docker学习笔记:镜像、容器、数据卷
核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...
- centos 7.0 ln命令 和chkconfig 命令介绍 开机自动启 服务
有时候centos需要 程序开机启动的时候 自启动 首先在 /etc/init.d/ cd /etc/init.d 文件夹下建立开机启动项 使用ln命令 使用方式 : ln [options] so ...
- ubuntu16.04设置开机自启服务
网上说了开机自启有许多种方法: 1.最简单的是:在/etc/rc.local的exit 0前面加上你启动服务的脚本文件路径 注:这个脚本文件应写绝对路径! 2.网上:修改rc.local开头的#/bi ...
- Centos 7 redis、tomcat、Spring Boot添加开机自启服务
一.redis添加开机自启 1.添加服务配置文件 [root@test system]# vim /etc/systemd/system/redis-server.service 2.服务配置文件内容 ...
随机推荐
- python接口自动化10-excel设计模式实战
前言 一.简介 1.环境准备:python+requests+excel+unittest+ddt,主要安装以下环境,其它一般都有了,没有自行安装: pip install xlrd pip inst ...
- C++入门到理解阶段二基础篇(5)——C++流程结构
1.顺序结构 程序从上到下执行 2.选择结构(判断结构) 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). C++ 编程 ...
- js获取计算机操作系统版本
如题,想要获取当先计算机的操作系统和版本号的话,可以用如下方法. 首先,创建osversion.js文件,文件里面的代码如下 var osData = [ { name: 'Windows 2000' ...
- python 遍历一个数组
list_test =[1,2,3,4,5] for i in range(0,len(list_test)): print(i) 结果是 1 2 3 4 5 注意 for i in range 是前 ...
- go-家庭收支记账软件例子
家庭收支记账软件项目 项目需求说明 1) 模拟实现基于文本界面的<家庭记账软件> 2) 该软件能够记录家庭的收入.支出,并能够打印收支明细表 项目的界面 看代码效果 项目代码实现 实现基本 ...
- php实现基础排序算法
<?php header("content-type:text/html;charset=utf-8"); $testArr = array(); $time1 = micr ...
- Http协议(自己的一些小小的总结,方便日后学习揣摩)
从2019年6月中旬开始学习JAVA已经差不多6个月了,也算是差不多半只脚踏进了JAVA的大门,没有老师带,遇到问题就要自己查百度,搜博客,去给各个大佬私信留言,也不知道看不看的见. 看了很多大佬的视 ...
- JVM垃圾回收器原理及使用介绍
JVM垃圾回收器原理及使用介绍 垃圾收集基础 引用计数法(Reference Counting) 标记-清除算法(Mark-Sweep) 复制算法(Copying) 标记-压缩算法(Mark-Comp ...
- 1.java容器基本内容
目录 java容器概述 1.collection接口 (1)collection接口方法 (2)set接口实现类 (3)list接口实现类 (4)queue接口实现类 2.map接口 java容器概述 ...
- js清除定时器注意点
如何这篇文章所述:https://www.cnblogs.com/mmykdbc/p/7418575.html js多次调用创建定时器的函数,会使定时器速度越来越快,多次调用定时器的使用场景比如:监听 ...