如何在docker容器中启动mysql服务器

时间:2015-08-10 11:59:34

标签: mysql docker

我正在创建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服务器。

2 个答案:

答案 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