• 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服务随容器启动而启动完成!!

     

  • 相关阅读:
    安装图形化界面
    cemtos安装python
    traceback说明
    python常用魔法函数
    python上传文件接口
    文件上传接口
    MongoDB安装与使用
    解决macOS系统向有跳板机的服务器传文件
    mac终端命令sftp
    linux下mysql服务安装
  • 原文地址:https://www.cnblogs.com/erlou96/p/13884646.html
Copyright © 2020-2023  润新知