Docker 容器开机自启动脚本

这篇具有很好参考价值的文章主要介绍了Docker 容器开机自启动脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Docker服务设置自动启动

1、查看已经启动的服务

systemctl list-units --type=service

如果 docker 没有启动,执行启动命令: systemctl start docker

2、查看是否设置开机启动

systemctl list-unit-files | grep docker

显示enabled说明docker服务设置了开机启动
显示disabled说明docker服务没有设置开机启动

3、设置开机启动

systemctl enable docker.service

如果要取消开机启动,执行命令:systemctl disable docker.service

二、Docker容器设置自动启动

1、设置容器自启

docker update --restart=always 容器名称

三、容器启动时自启动脚本

1. 容器启动时执行脚本

创建 start.sh 脚本

#!/bin/bash

while [ 1 ]; do
    date >> /root/output.txt
    sleep 1
done

创建 Dockerfile

# 基础镜像
FROM ubuntu:18.04

# 维护者信息
MAINTAINER test

# 构建镜像命令
COPY start.sh /usr/local/start.sh
CMD ["/bin/bash", "/usr/local/start.sh"]

构建镜像

docker build -t test:v1 .

创建 docker 容器

docker run -itd --name=test_v1 test:v1

2. 其他方式

当容器已创建完成时,在容器内无法通过添加 rc.local 或配置服务等方式来设置启动脚本,但可以在 .bashrc 文件内追加脚本的执行命令,需要注意的是当容器启动时会执行一次脚本,并且在每次用户登陆到容器时也还会执行一次。

在 root 目录下添加 daemon.sh(这是真正要执行的脚本) 文件,内容如下:

#!/bin/bash

while [ 1 ]; do
    date >> /root/output.txt
    sleep 1
done

添加 daemon-run.sh 脚本文件,内容如下:

#!/bin/bash

SCRIPT_NAME=daemon.sh

SCRIPT_NUM=$(ps -ef|grep $SCRIPT_NAME|grep -v "grep"|wc -l)
if [ $SCRIPT_NUM -eq 0 ]; then
        bash ~/$SCRIPT_NAME >/dev/null 2>&1 &
fi

之后在 /root/.bashrc 文件后追加如下内容:文章来源地址https://www.toymoban.com/news/detail-741448.html

if [ -f ~/daemon-run.sh ]; then
    . ~/daemon-run.sh
fi

到了这里,关于Docker 容器开机自启动脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设置docker、容器开机启动

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

    2024年02月11日
    浏览(32)
  • 如何配置 Docker 容器在系统启动时自动运行

    在使用 Docker 部署应用程序时,您可能希望配置容器在系统启动时自动启动。这可以通过 Systemd 在 Linux 系统上实现。本文将以一个示例命令和服务(以 pandora 为例)为基础,向您展示如何配置 Docker 容器的自动启动。 以下是详细步骤: 在终端中执行以下命令,创建一个新的

    2024年02月12日
    浏览(30)
  • docker使用Dockerfile制做容器(以hyperf为列,开机启动)

    1、Dockerfile文件 1-1、执行命令生成hyperf:latest容器(文件名是Dockerfile可以省略,如果是其它文件名需要写上docker build –f dockerfile文件路径 –t 镜像名称:版本) 2、start.sh脚本 3、启动,重新启动也会执行脚本,后面加上/data/start.sh(启动执行脚本,重新启动也会执行脚本)

    2024年01月21日
    浏览(36)
  • Docker容器启动时运行shell脚本

    来源于部署在liux上的Docker服务如何自动运行,而不是手动运行,因为输入数据是变化的,这里根据的是如果存在输入数据,被Docker服务监听到,则自动运行Docker服务中的代码。 对于Ubuntu18.04以上的系统,如果是使用命令 sudo apt-get install -y docker.io 安装的docker,都可以使用下列

    2024年02月09日
    浏览(55)
  • 【Ubuntu18.04 docker 启动容器,进入容器,执行脚本】

    1,启动容器 1,当前容器已经启动,怎么进入呢? -----进入步骤 一、 docker 服务启动启动 二、docker 容器自动启动 三、设置容器内的服务自动启动: 1-首先制作一个启动脚本start_fw.sh 参考 2-将容器制作为镜像,然后启动容器 3-

    2024年02月11日
    浏览(30)
  • Linux 系统设置开机自动运行脚本的方法

    在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟

    2024年02月12日
    浏览(30)
  • linux环境中设置docker服务开机自启动

    欢迎各位指出,大家共同交流和学习。 如有帮助,请点赞加支持! 送人玫瑰手有余香!🌹🌹🌹 linux系统,每次重启之后,docker服务都是关闭的,如下所示: 因此,每次都需要用如下命令手动开启服务: 但是,每次重启系统都要手动开启命令,比较麻烦,因此,将其服务设

    2023年04月22日
    浏览(30)
  • Docker服务以及容器如何设置自动启动

    Linux系统部署Java应用时,经常使用Docker进行安装MySQL、Nginx、Redis等应用,如果碰到服务器断电重启,在没有设置自动启动的情况下,我们所有应用都需要重新手动启动一遍,这样就非常麻烦,不能及时处理,所以本文来讲解一下如果设置自动启动,话不多说,直接开始。 1、

    2024年02月11日
    浏览(43)
  • docker服务器、以及容器设置自动启动

    查看已启动的服务 查看是否设置开机启动 设置开机启动 关闭开机启动 启动时加--restart=always 如果已经过运行的项目

    2024年02月12日
    浏览(48)
  • 部署问题集合(十九)linux设置Tomcat、Docker,以及使用脚本开机自启(亲测)

    因为不想每次启动虚拟机都要手动启动一遍这些东西,所以想要设置成开机自启的状态 创建service文件 添加如下内容,注意修改启动脚本和关闭脚本的地址 设置开机自启: systemctl enable tomcat 重新载入配置文件,使设置生效: systemctl daemon-reload 重新启动看看效果: reboot (如

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包