zoukankan      html  css  js  c++  java
  • docker 容器服务脚本自启动

    问题:有一个mysql的容器,每次启动容器后,都需要进入容器,然后启动mysql服务,效率太低

    解决方法:通过Dockerfile来实现容器内服务自启动

    一: 基础环境准备

    准备基础环境:

    • docker mysql镜像(问题当中的mysql镜像)
    • 启动脚本

    二: 编写Dockerfile文件

    新建目录:

    mkdir -p /opt/docker-file/ubuntu-mysql

    编写Dockerfile文件

    #新建Dockerfile文件
    touch Dockerfile

    Dockerfile文件内容如下:

    复制代码

    # 选择一个已有的os镜像作为基础
    FROM ubuntu-ssh-jdk-mysql:v1

    # 镜像的作者
    MAINTAINER hanzhe

    COPY start-mysql.sh /root/

    # 配置java环境变量
    ENV JAVA_HOME /usr/java/jdk
    ENV PATH $JAVA_HOME/bin:$PATH
    RUN chmod 777 /root/start-mysql.sh
    CMD ["sh","/root/start-mysql.sh"]

    复制代码

    三: 编写启动脚本

    start-mysql.sh 脚本内容如下:

    #!/bin/bash
    
    echo '1. starting mysql...'
    
    service mysql start
    
    echo '2. starting ssh...'
    /usr/sbin/sshd
    
    tail -f /dev/null

    四: 构建docker image

    构建命令:

    docker build -t="ubuntu-mysql:v2" .

    五:查看docker 镜像

    docker images

    六:验证

    运行容器:

    docker run -it -d --name mysql ubuntu-mysql:v2

    进入容器:

    docker exec -it 容器id /bin/bash

    测试mysql:

    mysql -uroot -proot

    基于mysql的docker容器使mysql服务随容器启动而启动完成!!

     

  • 相关阅读:
    P2679 子串
    线段树优化建边
    P2444 [POI2000]病毒
    P3966 [TJOI2013]单词
    4327: JSOI2012 玄武密码
    UVA1449 Dominating Patterns
    P1250 种树
    P2255 [USACO14JAN]记录奥林比克
    SP283 NAPTIME
    P3436 [POI2006]PRO-Professor Szu
  • 原文地址:https://www.cnblogs.com/erlou96/p/13884646.html
Copyright © 2011-2022 走看看