• 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 binzaijun
    
    COPY start-mysql.sh /root/
    # 配置java环境变量
    ENV JAVA_HOME /usr/java/jdk 
    ENV PATH $JAVA_HOME/bin:$PATHRUN 
    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服务随容器启动而启动完成!!

  • 相关阅读:
    java基础笔记-类与对象(多态)
    oracle中trim,ltrim,rtrim函数用法
    git stash
    update from select
    oracle 查看主外键约束
    eclipse git 解决冲突
    根据Request获取客户端IP
    简单说说Spring Security 使用(附加验证码登录,自定义认证)
    linux的nohup命令的用法
    Python包管理工具介绍
  • 原文地址:https://www.cnblogs.com/erlou96/p/16878426.html
Copyright © 2020-2023  润新知