【发布时间】:2019-10-18 21:09:29
【问题描述】:
我想将我的 mysql 数据库添加到运行 ubuntu 并安装了 mysql 和 php 的 Dockefile。该文件夹的结构如下: 文件夹 |_ Dockerfile |_ 开始.sh |_ 索引.php |_ init.sql
问题是 start.sh 不执行我所有的代码,所以 init.sql 没有导入 mysql。我在 StackOverflow 上查看了一些解决方案,但没有一个有效。
这是 Dockerfile
FROM ubuntu:latest
RUN apt-get update && apt-get upgrade -y
RUN DEBIAN_FRONTEND=noninteractive apt-get install apache2 php libapache2-mod-php php-mysql mysql-server -y
VOLUME ["/var/lib/mysql"]
ADD init.sql /tmp/init.sql
COPY index.php /var/www/html/
COPY start.sh /bin/
RUN chmod +x /bin/start.sh
EXPOSE 80 3306
CMD "/bin/start.sh"
这是start.sh
#!/bin/bash
/usr/sbin/apache2ctl -D FOREGROUND
/usr/bin/mysqld_safe
mysql -u root -e "CREATE DATABASE mydb"
mysql -u root mydb < /tmp/init.sql
我不确定问题出在 start.sh 上,反正每个 docker-compose 解决方案对我来说都是无用的,因为我需要 Dockerfile 中的所有内容
【问题讨论】:
标签: php mysql apache ubuntu dockerfile