1、下载mysql镜像

# docker pull mysql

2、启动mysql容器

# docker run -itd -v /data:/var/lib/mysql -p 33060:3306 --name mysqldb mysql bash

WARNING: IPv4 forwarding is disabled. Networking will not work.

25d047a99917c6420412f36e1d0e2e6af38fc86539b2184d1ea7e5a47b955011

3、这里我们发现启动mysql容器出现warning,排除警告方式如下:

# vi /etc/sysctl.conf

添加:net.ipv4.ip_forward = 1

生效配置:

# sysctl -p

vm.max_map_count = 262144

net.ipv4.ip_forward = 1

重启网路服务:

# service network restart

Restarting network (via systemctl):                        [  OK  ]

再次启动mysql容器,发现警告消失:

# docker run -itd -v /data:/var/lib/mysql -p 33060:3306 --name mysqldb mysql bash

bbde59a2921981218441851d7527d22be3a0e37d3164fd1e07c4653d5dccc94d

注意:从上面启动mysql容器命令中使用了-v、-p参数,具体意义解释如下:

-v:为启动的容器挂在volume,mysql数据库默认数据目录是容器中的/var/lib/mysql目录,该目录是容器自带的一个volume,如果不为mysql容器单独配置数据目录volume,那么我们会发现重启mysql容器后mysql数据库中数据都丢失了。为了持久化mysql数据,我们在启动mysql容器时添加了-v /data:/var/lib/mysql参数,把主机的/data目录挂载到容器的/var/lib/mysql下。

-p:指定mysql容器到本机的端口映射,将容器3306端口映射到主机的33060端口,这样设置后,我们就可以在局域网访问mysql数据库了。

4、进入mysql容器,启动mysql服务:

# docker exec -it mysqldb bash

root@ff3a4e6288c1:/# service mysql status

[info] MySQL Community Server 5.7.21 is not running.

root@ff3a4e6288c1:/# service mysql start 

No directory, logging in with HOME=/

..

[info] MySQL Community Server 5.7.21 is started.

5、登录mysql数据库,进行基本配置:

root@ff3a4e6288c1:/# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| chavin             |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by 'mysql';

Query OK, 0 rows affected, 1 warning (0.00 sec)

此时,可以在局域网内访问docker容器启动的mysql数据库了。

# mysql -uroot -pmysql -h192.168.177.129 -P33060

使用docker容器运行MySQL数据库并持久化数据文件的更多相关文章

  1. Docker容器部署Mysql数据库服务器

    本节会用到的Docker命令如下: docker images 查看mysql镜像id docker run -d -p xxxxxxxxxxxxxxx/zhufc/mysql:v2 通过镜像生成 启 ...

  2. MySQL数据库---配置文件及数据文件

    1.主配置文件 #/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options' #cat /etc/my.cnf ...

  3. Mysql 数据库日志与数据文件分开

    参考:https://blog.csdn.net/jiao_fuyou/article/details/78366621 myql默认配置情况下,二进制日志文件是保存在默认的数据目录 data 下,如 ...

  4. MySQL数据库如何查看数据文件的存放位置

    SHOW GLOBAL VARIABLES;

  5. Docker 运行 MYSQL 数据库的总结

    公司里面要求做一个小demo 学习java相关的东西 然后使用了mysql数据库 很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了  所以这里总结一下 docker化运行mysql数据 ...

  6. 在docker中使用mysql数据库,在局域网访问

    1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...

  7. 在Centos上安装docker,部署mysql数据库

    何为docker? Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 本机环境 24小时不关机的Centos ...

  8. docker中使用mysql数据库详解(在局域网访问)

    开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...

  9. 在docker下运行mysql

    docker pull mysql 从镜像仓库中拉取mysql镜像. 运行镜像 到此mysql在docker容器下运行成功. 使用Navicat连接工具连接到mysql 经过以上步骤就完成了在dock ...

随机推荐

  1. 【转】最近很火的 Safe Area 到底是什么

    iOS 7 之后苹果给 UIViewController 引入了 topLayoutGuide 和 bottomLayoutGuide 两个属性来描述不希望被透明的状态栏或者导航栏遮挡的最高位置(st ...

  2. Linux系统下x86和ARM的区别有哪些?

    问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实 ...

  3. 如何在你的Vue项目配置vux

    做移动端项目的话vue现在是首要的选择,足够轻便,文档足够全,当然用的人多,项目中遇到的坑别人可能也遇到过,解决起来也比较方便,至于在开发中做需要的移动端组件库,个人比较推崇vux. 其实项目里组件库 ...

  4. WebRTC的视频解码原理简析

    WebRTC的视频部分,包含采集.编解码(I420/VP8).加密.媒体文件.图像处理.显示.网络传输与流控(RTP/RTCP)等功能. 视频采集---video_capture:       源代码 ...

  5. 利用TortoiseGit(小乌龟)将项目上传至GitHub网站

    准备 1.拥有一个GitHub账户 2.安装了TortoiseGit(小乌龟) 具体过程 一.在GitHub上建立新的仓库 起好仓库名,填好描述,在Add .gitgnore中选择Java(根据你自己 ...

  6. 【转】WPF Template模版之DataTemplate与ControlTemplate(一)

    WPF系统不但支持传统的Winfrom编程的用户界面和用户体验设计,更支持使用专门的设计工具Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念. 1. 模板的内涵 作为表现形式,每个控件 ...

  7. hibernate 映射一对多

    参考笔记: https://www.cnblogs.com/biehongli/p/6561690.html

  8. python什么时候加self,什么时候不加self

    1.self是什么,一般都说指对象本身,这样说了没了用,说了后还是很难懂,因为这样说了后,仍然完全搞不清楚,什么时候变量前需要加self,什么时候不需要加self. 造成很多人,已经怕了self,不停 ...

  9. 深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎 - 数据类型 - 字符集和校验规则 -

    create schema deepInMySql;use deepInMySql; -- 查看当前默认存储引擎show variables like '%table_type%'; -- 查看当前数 ...

  10. Easy UI combogrid动态加载数据

    场景: datagrid的每一行允许编辑,一行中有一个字段,编辑时,提供下拉框选项,供选择. 下拉框选项有多个列.如下图所示:(点击红框内的下拉按钮,会弹出绿框内的内容) 要求: 每行弹出的下拉框内容 ...