【发布时间】:2017-11-16 14:52:04
【问题描述】:
有人知道如何通过 dockerfile 安装 mysql-server 吗?我写了一个 Dockerfile,但是构建以错误结束:/bin/sh: 1: /usr/bin/mysqld: not found
USER root
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server-5.7
# Remove pre-installed database
RUN rm -rf /var/lib/mysql/*
RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/"/etc/mysql/my.cnf
ENV DB_USER example
ENV DB_PASSWORD example
ENV DB_NAME example
ENV VOLUME_HOME "/var/lib/mysql"
EXPOSE 3306
RUN cp /etc/mysql/my.cnf /usr/share/mysql/my-default.cnf
RUN /usr/bin/mysqld && sleep 5 && \
mysql -uroot -e "CREATE USER '${DB_USER}'@'%' IDENTIFIED BY '${DB_PASSWORD}'" && \
mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO '${DB_USER}'@'%' WITH GRANT OPTION" &&\
mysql -uroot -e "CREATE DATABASE ${DB_NAME}" && \
mysqladmin -uroot shutdown
【问题讨论】:
-
你使用的是什么基础镜像?
-
FROM ubuntu:16.04
-
为什么不使用官方镜像或者使用他们的 Dockerfile 作为基础呢?
-
我已将我的 Jenkins 配置为在 docker 容器中运行我们的构建作业和功能测试。例如,当我单击“立即构建”按钮时,Jenkins 将构建 Git 中的 Dockerfile 并运行容器,以便可以在此容器中完成构建步骤(Jenkinsfile)。并且知道我也需要安装一个 mysql-server。
标签: mysql docker dockerfile