docker部署mysql5.7数据库

2020-03-04  本文已影响0人  古甲哈醒

1、拉取mysql镜像
搜索mysql镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker search mysql
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9188                [OK]                

拉取mysql镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker pull mysql:5.7.24

其中mysql:5.7.24是指拉取的mysql的版本为5.7.24,如果不指定版本,则拉取最新的。
查看已拉取的镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7.24              ba7a93aae2a8        14 months ago       372MB

2、创建mysql容器
创建tomcat容器:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker run -itd --name mysql -p 3316:3306 -v /data/docker_v/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7.24

其中:
--name mysql 容器的名称为mysql
-p 3316:3306 将主机3316端口映射到容器3306端口,访问数据库时直接访问主机3316端口
-v /data/docker_v/mysql/data:/var/lib/mysql 将容器mysql的数据文件目录映射到主机目录,这样数据库数据被持久化到主机,保证数据不丢失。
-e MYSQL_ROOT_PASSWORD=root 设置mysql的ROOT用户密码为root
-itd 后台启动
mysql:5.7.24 创建容器使用的镜像及版本

查看创建好的容器实例:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS 
f6e302b02f48        mysql:5.7.24        "docker-entrypoint.s…"   13 days ago         Up 9 days           33060/tcp, 0.0.0.0:3316->3306/tcp                                                  mysql

安装成功,进入容器内部访问mysql服务:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker exec -it mysql bash
root@f6e302b02f48:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4771
Server version: 5.7.24 MySQL Community Server (GPL)

3、mysql配置文件
mysql5.7默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。

root@f6e302b02f48:/etc/mysql# ls
conf.d  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d
root@f6e302b02f48:/etc/mysql# cd conf.d/ 
root@f6e302b02f48:/etc/mysql/conf.d# ls
docker.cnf  mysql.cnf  mysqldump.cnf

另外为了配置方面,建议把/etc/mysql/conf.d配置文件目录隐射到主机目录。在创建mysql容器时添加 -v /docker_v/mysql/conf:/etc/mysql/conf.d 即可。

4、特别提醒
一定要将mysql的数据文件映射到主机目录,这样可以保证数据库的持久化。否则,容器在重启后数据会丢失。mysql容器本身并不会持久化数据,重启后就会回到初始化时状态。这里是一个坑,大家注意了!!!

上一篇 下一篇

猜你喜欢

热点阅读