我正在创建docker容器,基本映像是ubuntu:14.04。我必须在该容器中启动mysql服务器,然后我必须创建数据库,我必须向用户授予权限。 Docker对我来说是新的。我尝试了很多,但每当我去那个图像并检查mysql服务器是否正在运行时。每次我得到的是mysql服务器停止,我的dbs也没有创建。 这是我的dockerfile
FROM ubuntu:14.04
MAINTAINER <name> <emailid>
RUN sudo apt-get update
RUN sudo apt-get install -y apache2 mysql-server libapache2-mod-auth-mysql php5-mysql php5 git
RUN sudo apt-get install -y vim
CMD sudo /usr/sbin/mysqld -u mysql
我尝试了很多,但我无法在docker镜像中运行mysql服务器。
答案 0 :(得分:8)
您是否手动将其安装在容器中?
为什么不简单地使用:
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=mySchema mysql:5
这会启动一个运行mysql守护程序的名为 mysql 的容器,将默认root密码设置为 secret ,从而创建一个名为 mySchema 的新架构并将MySQL端口3306暴露给客户端,以便它们可以连接。
然后,您可以使用具有指定密码 secret 的root用户连接到任何MySQL客户端,并在创建的模式 mySchema 中创建表。
答案 1 :(得分:2)
我在ubuntu上有类似的问题:14.04在docker容器中设置德鲁伊集群时,使用CMD启动mysql为我修复它。
CMD mysql start \
&& mysql stop