Docker 安装 mysql

1.启动一个mysql服务器实例

从镜像站获取mysql的镜像

$ docker pull mysql

默认的版本mysql镜像的最新版(latest)

获取指定的版本的镜像

$ docker pull mysql:5.7

也可以直接通过命令启动mysql 的实例:

$ docker run -d --name mysql-fixdq -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

直接使用docker run 创建时,如果本地没有mysql镜像,会自动去仓库中下载。

这样就创建了一个mysql服务器的容器实例,--name设置容器的别名,通过环境变量MYSQL_ROOT_PASSWORD设置数据库的root密码,5.7标签指定mysql镜像的版本。

查看容器:docker ps (docker container ls )大致这样

$ docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
412fbf7512b5        mysql:5.7           "docker-entrypoint..."   6 hours ago         Up 6 hours          0.0.0.0:3306->3306/tcp, 33060/tcp   mysql5.7

2.使用自定义mysql 配置文件,指定数据文件地址

下面是我使用的启动命令

$ docker run -d --name mysql5.7 -p 3306:3306 -v /data/mysql/datadir/:/var/lib/mysql -v /data/mysql/conf.d/:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 

默认情况下,MySQL的启动配置文件是/etc/mysql/my.cnf,而/etc/mysql/conf.d目录下的存在任何.cnf格式的文件时,都会使用该文件中配置项替换默认配置。

因此,如果要使用自定义配置,可以在宿主机创建一个配置文件,然后在创建容器时通过-v参数,以数据卷的方式将自定义配置挂载到mysql容器的/etc/mysql/conf.d目录下。

-v /data/mysql/datadir/:/var/lib/mysql

将宿主机的目录/data/mysql/datadir/ 挂在到容器的/var/lib/mysql下
-v /data/mysql/conf.d/:/etc/mysql/conf.d

 将宿主机的目录/data/mysql/datadir/ 挂在到容器的/var/lib/mysql下

参考资料:

https://itbilu.com/linux/docker/EyP7QP86M.html

原文地址:https://www.cnblogs.com/fixdq/p/10046241.html