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

     

  • 相关阅读:
    注意力机制在CV领域的应用之SEnet
    知识蒸馏技术原理
    batchsize如何影响模型的性能
    docker网络 macvlan
    docker pull使用 代理
    auditd重启失败
    3.Golang的包导入
    2.golang应用目录结构和GOPATH概念
    使用git版本管理时的免密问题
    1.go语言目录结构
  • 原文地址:https://www.cnblogs.com/erlou96/p/13884646.html
Copyright © 2011-2022 走看看