首页 > 其他分享 >通过rc.local启动docker容器内脚本

通过rc.local启动docker容器内脚本

时间:2024-03-25 10:58:36浏览次数:24  
标签:service local etc 02d4ef44a7a7 rc docker root

    我们常常遇到在已有镜像上开机就运行客制化脚本的需求,如果不想重新构建镜像,可以考虑本方法,利用系统的rc-local.service实现对rc.local的调用,进而启动rc.local中的客制化脚本。

    以下以centos7为例:

1 拉取镜像

root@arm:~# docker pull centos:centos7
centos7: Pulling from library/centos
Digest: sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4
Status: Downloaded newer image for centos:centos7
docker.io/library/centos:centos7

2 创建容器

root@arm:~# docker run -itd --name centos7 --restart always --privileged centos:centos7 /usr/sbin/init
02d4ef44a7a7d4740c6aadc6207d8fb43ee2c16d66d3e9240f48538a39dc4a33

3 进入容器

root@arm:~# docker exec -it baota1 /bin/bash
[root@02d4ef44a7a7 /]#

4 确认运行等级,N 3表示文本多用户模式

[root@02d4ef44a7a7 /]# runlevel
N 3

5 修改/lib/systemd/system/rc-local.service,增加服务安装信息

原文件如下:

[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes

在最后添加两行

[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

6 增加rc.local执行权限

[root@02d4ef44a7a7 ~]# chmod +x /etc/rc.d/rc.local

7 设置rc-local.service开机启动

[root@02d4ef44a7a7 ~]# systemctl enable rc-local
Created symlink from /etc/systemd/system/multi-user.target.wants/rc-local.service to /usr/lib/systemd/system/rc-local.service.

8 再次确认rc-locall.service服务状态

[root@02d4ef44a7a7 ~]# systemctl status rc-local
● rc-local.service - /etc/rc.d/rc.local Compatibility
   Loaded: loaded (/usr/lib/systemd/system/rc-local.service; enabled; vendor preset: disabled)
   Active: active (exited) since Tue 2024-03-19 14:07:54 UTC; 10min ago

Mar 19 14:07:53 02d4ef44a7a7 systemd[1]: Starting /etc/rc.d/rc.local Compati....
Mar 19 14:07:54 02d4ef44a7a7 systemd[1]: Started /etc/rc.d/rc.local Compatib....
Hint: Some lines were ellipsized, use -l to show in full.

   好了,现在可以在/etc/rc.d/rc.local添加你的脚本了。

标签:service,local,etc,02d4ef44a7a7,rc,docker,root
From: https://blog.csdn.net/winter_mao/article/details/136856010

相关文章

  • drf : source,定制序列化字段以及反序列化新增。局部钩子(validate_字段名),全局钩子(va
    source,SerializerMethodField,局部钩子,全局钩子serialzer.py:source用处对应字段:起别名,用处2对应方法:在表模型中定义一个方法,source可以与其关联用处3对应方法:可以当做字段第三种方法的扩展用法:使用程度高。model.pyfromdjango.dbimportmodels#Createyourmo......
  • 栅格地图路径规划:基于螳螂搜索算法(Mantis Search Algorithm,MSA)的机器人路径规划(提供MA
        一、机器人路径规划介绍移动机器人(Mobilerobot,MR)的路径规划是移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人......
  • dotNet符号文件(pdb),符号包(snupkg)和SourceLink
    前言本文的主题是VisualStudio调试NuGet包,以及符号包的概念,如何去发布一个NuGet包,让我们的NuGet包支持SouceLink,这些都是我们开发中比较容易忽视的内容,但是熟悉了以后可以让我们在调试中得心应手,也是开源项目开发的基础篇。demo源代码在文末pdb符号文件程序数......
  • docker desktop清理wsl虚拟磁盘
    环境:win10DockerDesktop4.28.0(139021)DockerEnginev25.0.3查看wsl状态:wsl-l-v关闭状态是Running的:wsl--terminatedocker-desktop-datawsl--terminatedocker-desktop再次查看状态: wsl-l-v状态应该为 Stopped使用diskpart工具压缩虚拟磁......
  • [20240321]分析FORCE_MATCHING_SIGNATURE重合的奇怪情况.txt
    [20240321]分析FORCE_MATCHING_SIGNATURE重合的奇怪情况.txt--//生产系统遇到1个FORCE_MATCHING_SIGNATURE重合的奇怪现象,一般情况都是相似的sql语句(没有使用绑定变量的sql语句),--//FORCE_MATCHING_SIGNATURE相同。--//注:11g之前如果绑定变量与常量混合,会出现EXACT_MATCHING_SIGN......
  • wsl docker 和 ubuntu 冲突问题
    https://blog.csdn.net/weixin_44825912/article/details/136565219问题如下:wsl安装成功,但打开时出现多行报错无法使用。PSC:\WINDOWS\system32>wsl<3>WSL(8)ERROR:CreateProcessParseCommon:754:getpwuid(0)failed2Processingfstabwithmount-afailed.<3>......
  • Docker重新编译webBenchmark镜像
    1.编译环境SystemVersion:Centos8DockerVersion:WebBenchmarkVersion:webBenchmark_linux_arm2.编写Dockerfile1.创建编译目录mkdirnetworkdownload2.创建Dockerfile文件并编写2.1创建Dockerfile文件touchDockerfile2.2编写Dockerfile文件FROMalp......
  • 深度学习——PyTorch基础
    目录一、Tensor1、Tensor简介(1)张量(Tensor)的解析(2)张量(Tensor)的类型(3)张量(Tensor)的维度延伸(4)张量(Tensor)在深度学习中的应用(5)张量(Tensor)的数学解读(6)张量(Tensor)的综述2、Tensor对象及其运算(1)Tensor的基本属性:(2)Tensor的创建:(3)Tensor的运算:(4)自动求导与梯度......
  • Elasticsearch 涉及的主要底层原理详解
    目录原理篇1.倒排索引原理2.文档写3.单个文档查询4.多个文档查询5.文档删除与更新6.集群组建7.集群选主8.集群数据读写如果你只是会用Elasticsearch而不了解它的运行机制,不是一个合格开发工程师。作为一名开发工程师,在掌握一项中间件的使用的同时,应该同时掌握该中间件的基本原......
  • WPF Add ResourceDictionary file and declared in app.xaml
    //AddresourcedictionaryfilenamedBrushes.xaml<ResourceDictionaryxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><LinearG......