• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker容器内应用服务自启动的方法示例

Docker容器内应用服务自启动的方法示例

作者:Pythonne 字体:[增加 减小] 来源:互联网

本文主要包含docker,容器自启动,Docker,应用服务自启动,docker,自启动等服务器相关知识,Pythonne 希望可以进行参考

如果想把Docker容器内的应用服务随着容器开启时自启动。只需要将服务启动的脚本写在Dockerfile里,然后用Dockerfile重构镜像即可实现:

  • 编写应用服务自启动脚本
  • 编写Dockerfile
  • 重构镜像
  • 开启容器

编写服务自启动脚本(dockerd)
(tomcat为例)

#!/bin/bash
#
# 
#
# chkconfig: 345 98 30
# description: tomcat program.
# processname: tomcat
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
#. /etc/sysconfig/network


prog="tomcat"

checkprocess()
{
  chkret=`ps -ef |grep $prog |grep -v "grep" |wc -l`
    return $chkret
}

start()
{
    cd /usr/local/tomcat/bin/
   ./startup.sh
  echo "Service $prog started!"
}

#/usr/sbin/nscd &
/usr/sbin/sshd -D &
while [ true ]
do
        DNSIP=172.18.3.179
          ping=`ping -c 3 $DNSIP|awk 'NR==7 {print $4}'`
        if [[ $ping -eq "3" ]]
        then
            break
        fi
    sleep 3
done

while [ true ]
do
    checkprocess
     if [[ $chkret -eq "0" ]]
        then
              start
     #nscd -i hosts
        else 
          echo "Service $prog is running."

        fi
    sleep 60
done
exit 0

编写Dockerfile

FROM tomcat

MAINTAINER liu "350142639@qq.com"

ADD dockerd /etc/rc.d/init.d/
RUN chmod 777 /etc/rc.d/init.d/dockerd

ENV JAVA_HOME /usr/local/jdk1.6.0_30
ENV PATH   $JAVA_HOME/bin:$PATH
ENV CLASSPATH  .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

CMD /etc/rc.d/init.d/dockerd

其中,ADD将同级目录下的脚本加入镜像的指定位置,ENV设置java的环境变量(很重要,不写这句自启动脚本无法执行成功)CMD命令只能有一个,用来在容器启动时,执行命令。也可以是脚本。

重构镜像
**通过
docker build -t 新的镜像名 .
成功制作新的镜像

开启容器

docker run -d -h=”s” –name=”s” 新的镜像名

然后,发现tomcat已经开启

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • 211高校利用红帽虚拟化方案 高效地集成IT系统
  • 详解如何使用Docker部署一个web项目并打包成镜像文件
  • Dockerfile中CMD和ENTRYPOINT命令详解
  • VMware12中MS-DOS 7.10安装图文教程
  • Docker 基础网络配置详解
  • Docker容器化spring boot应用详解
  • 【Linux】VMware虚拟机中如何配置静态IP详解
  • Docker使用阿里加速器安装centos教程
  • Docker 默认bridge网络中配置DNS的方法
  • 详解Docker中安装配置Oracle数据库

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • OpenStack Ceilometer用MongoDB解决占用磁盘空间过大问题
    • Docker 容器编排利器Compose(起步篇)
    • 使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤
    • Xen虚拟化进阶篇 Xen平台下虚拟机的实时迁移
    • VMware下Ubuntu 14.04静态IP地址的设置方法
    • Centos 6.5中安装docker的步骤(简洁版)
    • 使用Docker搭建Django,Nginx,R,Python部署环境的方法
    • 详解Docker守护进程的配置及日志
    • VirtualBox 2.2.0使用主机网络上网配置教程
    • Docker占满磁盘空间的问题解决办法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有