账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    dockerfile构建mysql镜像
    45
    0

    使用dockerfile构建mysql,镜像构建完成后,运行容器后,启动mysql服务总是报错

    Fatal error: Can't open and lock privilege tables: Table storage engine for 'db' doesn't have this option

    mysql安装使用的官方的压缩包

    mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

    dockerfile代码如下:

    # To build the images, exec the command below at the same directory
    # docker build -t registry.cn-hangzhou.aliyuncs.com/lovekun/ubuntu-16.04:mysql-5.7.20 .
    
    # Version mysql-5.7.20
    
    # start server with the command bin/mysqld_safe --user=root &
     
    FROM registry.cn-hangzhou.aliyuncs.com/lovekun/ubuntu-16.04:1.0.0
    
    MAINTAINER qiuaikun@gmail.com
    
    COPY mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz /usr/local
    
    RUN apt-get -y update \
        && apt-get -y install libaio1 \
        && apt-get -y install numactl \
        && cd /usr/local \
        && tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz \
        && ln -s /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64 mysql  
    
    ENV PATH $PATH:/usr/local/mysql/bin
    
    COPY my.cnf /usr/local/mysql
    
    RUN cd /usr/local/mysql \
        && bin/mysqld --defaults-file=/usr/local/mysql/my.cnf  --initialize-insecure --user=root 
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 满身烟酒味、 普通会员 1楼

      要使用Dockerfile构建MySQL镜像,请按照以下步骤操作:

      1. 首先,创建一个新的Dockerfile。

      使用以下命令创建一个名为mysql-server的新Dockerfile:

      dockerfile: build: . image: mysql:5.7

      .是Dockerfile所在目录,mysql:5.7是MySQL镜像的基镜像。

      1. 编写你的Dockerfile内容。在Dockerfile中,你需要定义镜像的基本信息,包括基础镜像和容器内的命令行参数。在这个例子中,我们将在基础镜像mysql:5.7上运行docker build命令来构建MySQL镜像。

      例如:

      ``` FROM mysql:5.7

      RUN apk add --no-cache --update build-base \ && apt-get update && apt-get install -y \ mysql-server \ && rm -rf /var/lib/apt/lists/* ```

      这段代码会安装MySQL服务器所需的依赖,更新系统包列表,并删除预安装的包列表。

      1. 将Dockerfile保存为.dockerfile文件。

      2. 打开终端并导航到你的MySQL镜像所在的目录。

      使用以下命令运行docker build命令来构建MySQL镜像:

      docker build -t mysql .

      这将构建一个名为mysql的镜像。

      1. 你可以使用docker run命令来运行MySQL容器:

      docker run -p 3306:3306 mysql

      这将在主机上运行一个名为mysql的容器,端口映射到主机上的3306端口。

      注意:以上步骤适用于基于Debian/Ubuntu系统的Docker。在其他系统上,你需要根据系统包列表和依赖关系进行相应的调整。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部