1.获取镜像:
mysql的镜像可以自己用dockerfile制作一个,或者直接到官方的docker镜像库中下载,本文用的是官方镜像。
# docker pull mysql
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest d9124e6c552f 12 days ago 383.4 MB
2.运行容器:
创建宿主机数据存放目录:
# mkdir -p /opt/data/mysql
启动容器:
# docker run --name docker-mysql -v /opt/data/mysql/:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d docker.io/mysql
c38f50a540ff4d5ecf1a5ec49fb721335a8e1b79dec58229cf5e00553f988e44
3.查看容器:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c38f50a540ff docker.io/mysql "docker-entrypoint.sh" 9 seconds ago Up 8 seconds 0.0.0.0:3306->3306/tcp cmh-mysql
4.说明
-p 外部端口:容器端口,把容器的mysql端口3306映射到宿主机的3306端口,这样想访问mysql就可以直接访问宿主机的3306端口。
-v /opt/data/mysql:/var/lib/mysql,即把宿主机/opt/data/mysql/目录映射到容器的/var/lib/mysql目录。
注意事项:
1:在使用-v选项映射目录时,宿主机需关闭SElinux:
# setenforce 0
或者给数据目录添加相关selinux权限:
# chcon -Rt svirt_sandbox_file_t /my/own/datadir
2:-v 选项原本是把宿主机的目录映射进容器,但是在本文中,是反过来的。即是把容器中的目录映射出宿主机,这是因为官方镜像在制作的时候使用了VOLUME /var/lib/mysql选项。这使得容器中/var/lib/mysql成为一个单独的卷组,在使用挂载选项-v时,就可以把该目录映射出宿主机。
3.mysql 忽略大小写
mysql默认官方的镜像 配置文件在 /etc/mysql/mysql.conf.d/mysqld.cnf;修改 这个配置文件 加入 lower_case_table_names=1,然后重启容器;
容器中安装vi命令:
apt-get update
apt-get install vim
或者用shell sed 命令:
sed -i '/lower_case_table_names/d' /etc/mysql/mysql.conf.d/mysqld.cnf
sed -i '/\[mysqld\]/$a lower_case_table_names=1' /etc/mysql/mysql.conf.d/mysqld.cnf
第一条是 删除 lower_case_table_names;
第二条是 添加;
相关推荐
docker部署mysql8教程
docker部署mysql一主两从集群
docker部署mysql容器自启动并挂载数据卷
本文简述如何使用Docker部署mysql,同时持久化数据.我们会用到tutum-docker-mysql 这个项目来搭建一个mysql,省去重头写Dockerfile的时间. 首先我们将tutum-docker-mysql跑起来. docker run -d -p 3306:3306 --name ...
Docker部署mysql,nginx,tomcatredis
Docker部署Mysql详细说明文档,点赞关注加收藏。
Docker容器技术
mysql 集群方案介绍,建议使用pxc,因为弱一致性会有问题,比如说a节点数据库显示我购买成功,b 节点数据库显示没有成功,这就麻烦了,pxc 方案是在全部节点都写入成功之后才会告诉你成功,是可读可写双向同步的,...
docker pull mysql 3.在宿主机创建持久化 mysql data 及mysql.cnf mkdir /usr/local/mysqlData/test/cnf mkdir /usr/local/mysqlData/test/data vi /usr/loal/mysqlData/test/cnf/mysql.cnf 设置本地文件共享:...
在docker里面部署mysql数据库步骤和解析
——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!
文本是md,Typora软件编写 写的是如何安装在linux上mysql、jdk、Tomact、redis、dubbo、zookeeper、es, 写的是如何安装在linux的docker上mysql、jdk、Tomact、redis、dubbo、zookeeper、es
> 部署 MySQL 5.7 集群 master & slave (仅测试用) 镜像版本 5.7 1、创建 overlay 网络 docker network create --driver overlay common-network --attachable 2、编辑两个配置文件 master.cnf 与 slave.cnf ...
docker离线安装mysql镜像文件,并附带docker加载配置流程,服务器在无网络情况下即可轻松部署mysql服务。
本文给大家分享的是如何配置MySQL支持SSL连接方式的方法以及在docker中配置的具体案例,有需要的小伙伴可以参考下
主要介绍了docker部署mysql 实现远程连接的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
阿里云部署笔记(含Docker运行MySQL、Nacos、Redis、Minio、MongoDB容器)
Docker 部署Mysql 服务的方法 1. 拉取Mysql 5.6最新版本镜像 sudo docker pull mysql:5.6 2. 查看Mysql 镜像 sudo docker images 3. 在home目录下创建需要映射的目录: mkdir -p /home/computer/project/mysql/...