美文网首页
docker部署mysql5.7数据库

docker部署mysql5.7数据库

作者: 古甲哈醒 | 来源:发表于2020-03-04 23:05 被阅读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容器本身并不会持久化数据,重启后就会回到初始化时状态。这里是一个坑,大家注意了!!!

    相关文章

      网友评论

          本文标题:docker部署mysql5.7数据库

          本文链接:https://www.haomeiwen.com/subject/ipmwlhtx.html