docker学习-lnmp+redis之搭建mysql容器服务
一、 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录
[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/logs/{mysql,nginx,php} /lnmp/data/{mysql,www}
[root@T1 ~]# tree /lnmp/
/lnmp/
├── conf
│ ├── mysql mysql配置文件
│ ├── nginx nginx配置文件
│ └── php php配置文件
├── data
│ ├── mysql MySQL数据文件目录
│ └── www 站点根目录
└── logs
├── mysql mysql日志文件
├── nginx nginx日志文件
└── php php日志文件
``````````````
2. 安装mysql5.7镜像
2.1 目录映射关系[镜像---->主机]
/etc/mysql/mysql.conf.d ---->/lnmp/conf/mysql
/var/lib/mysql ---->/lnmp/data/mysql
/var/log/mysql ---->/lnmp/logs/mysql
2.2 下载镜像
[root@T1 ~]# docker pull mysql:5.7
创建一个容器
[root@T1 image]# docker run -d -v /lnmp/conf/mysql:/etc/mysql/mysql.conf.d -v /lnmp/data/mysql:/var/lib/mysql -v /lnmp/logs/mysql:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name dnmp_mysql5.7 mysql:5.7
0b7e685c3cbc3aa838230de31e0f1ddb37ce2e7a058c533648729183e39068eb
[root@T1 image]# netstat -nlp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 6700/docker-proxy
[root@T1 image]# docker ps |grep dnmp_mysql5.7
0b7e685c3cbc mysql:5.7 "docker-entrypoint.s…" 47 seconds ago Up 46 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp dnmp_mysql5.7
2.3 目录关系映射后,log的属主和属主都变了,需要改变为原来的属性[日志目录修改属主和属组为mysql:adm],不要问我为什么
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ls -l /var/log/ |grep mysql"
drwxr-xr-x 2 root root 6 Jan 9 21:40 mysql
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "chown mysql:adm /var/log/mysql/ -R"
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ls -l /var/log/ |grep mysql"
drwxr-xr-x 2 mysql adm 6 Jan 9 21:40 mysql
2.4 创建mysql的配置文件,下面配置只是测试日志路径,优化配置还需要完善
# cat >> /lnmp/conf/mysql/my.cnf << EOF
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_connections = 1000
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
slow_query_log =1
long_query_time = 10
slow_query_log_file = /var/log/mysql/slow.log
log-error=/var/log/mysql/error.log
server-id =100
log_bin=/var/log/mysql/mysql-bin
EOF
2.5 重启容器
[root@T1 lnmp]# docker restart 0b7e685c3cbc
[root@T1 lnmp]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock"
-------------------------------------------------------------------------------------------------------------------------->
如果登陆数据库报如下错误
root@0b7e685c3cbc:/# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@0b7e685c3cbc:/# ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
-------------------------------------------------------------------------------------------------------------------------->
2.6 查看目录映射关系,已经OK了
[root@T1 lnmp]# ls /lnmp/logs/mysql/ /lnmp/conf/mysql/ /lnmp/data/mysql/
/lnmp/conf/mysql/:
my.cnf
/lnmp/data/mysql/:
0b7e685c3cbc.pid ca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 mysql.sock performance_schema public_key.pem server-key.pem
auto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql mysql.sock.lock private_key.pem server-cert.pem sys
/lnmp/logs/mysql/:
error.log mysql-bin.000001 mysql-bin.index slow.log
就可以解决问题了
我们的my.cnf也已经生效了,数据库容器创建完成
mysql> show variables like '%max_connections%';
mysql> show variables like '%slow_query_log%';
max_connections 1000
slow_query_log ON
slow_query_log_file /var/log/mysql/slow.log
--------------------------------------------------------------------------------------------------->
docker学习-lnmp+redis之搭建mysql容器服务的更多相关文章
- docker学习-lnmp+redis之搭建lnp容器服务
nginx+php7.0容器服务 本来想用单独的容器(nginx和php分开),但是因为是初学,php容器安装扩展的时候一直失败,所以就把centos+nginx+php放一起搭建了,优点是扩展简单, ...
- docker学习-lnmp+redis之搭建redis容器服务
1. 目录映射:/lnmp/data/redis:/data/lnmp/conf/redis/redis.conf:/etc/redis/redis.conf/lnmp/logs/redis:/var ...
- DOCKER 学习笔记5 Springboot+nginx+mysql 容器编排
前言 在上节的内容中,我们已经通过一个简单的实例,将Docker-compose 进行了实际的应用.这一小节中.我们将通过学习和了解,着重认识容器的编排,上一节只算是一个小小的测试.在这一节中.我们将 ...
- Docker学习之搭建MySql容器服务
描述 MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法.用户可以选择RHEL和基于CentOS的图像.然后 ...
- Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)
上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建My ...
- DOCKER 学习笔记4 认识DockerCompose 多容器编排
前言 通过上一节的学习,学会了如何在Linux 环境下搭建Docker并且部署Springboot 项目,并且成功的跑了起来,当然,在生产环境中,不只是需要一个后端的Web 项目,还需要比如 Ngin ...
- Docker学习笔记4: Docker-Compose—简化复杂容器应用的利器
本文转载自http://www.tuicool.com/articles/AnIVJn. 因Python语言,个人也没学过,不是太熟悉,这篇文章的代码格式排版不准确爆了很多错,让我走了好多坑,不过还是 ...
随机推荐
- 时间规划在Optaplanner上的实现
在与诸位交流中,使用较多的生产计划和路线规划场景中,大家最为关注的焦点是关于时间的处理问题.确实,时间这一维度具有一定的特殊性.因为时间是一维的,体现为通过图形表示时,它仅可以通过一条有向直线来表达它 ...
- 京东饭粒捡漏V1.14
20180703 更新 V1.141.修改秒杀价格BUG:2.增加秒杀/抢购,循环控制: 功能介绍1.京东商城专用,支持饭粒模式下单,自己获得京豆返利 2.捡漏模式:帮助用户监控抢购商品,有库存的时候 ...
- 京东饭粒捡漏V1.0.7
20180614 更新 V1.0.71.修改捡漏策略 功能介绍1.京东商城专用,支持饭粒模式下单,自己获得京豆返利 2.捡漏模式:帮助用户监控抢购商品,有库存的时候进行抢单,主要是通过添加商品ID - ...
- Tomcat应用部署
1.Tomcat安装配置 1.1安装包下载 http://tomcat.apache.org/ 选择下载安装包版本 选择适合当前系统的安装包 安装包目录说明: 1.2环境配置 配置用户名密码conf/ ...
- C# 6.0:Expression – Bodied Methods
Expression-bodied 方法是C# 6.0 中另一个能简化代码的特性.我们已经对lambda表达式将funciton和delegation关联起来的这种用法很熟悉了.Expression- ...
- SketchUp 建模练习(一)从图像建模运货木板 Pallet
软件环境 SketchUp Pro 2017 GIMP 2.10.6 参考书籍 Google SketchUp for Game Design 作者:Robin de Jongh 运货木板效果图 制作 ...
- 使用docker创建静态网站应用-多种方式
能承载静态网站的服务器有很多,本文使用,nginx.apache.tomcat服务器演示docker静态网站应用设置 一,创建docker文件, 不同服务器的docker文件不一样,下面分别创建ngi ...
- angular4中引入quill editor
1. npm install --save-dev @types/quill 安装types 2.npm install ng2-quill-editor --save 安装quill 3.配置ts ...
- rabbitmq支持.net framwork 3.5的最后版本
方便后来人!!!经过一系列的确认!! rabbitmq支持.net framwork 3.5的最后版本是3.4.3, 安装步骤: 1.工具->Nuget程序包管理器,进入控制台 2.Instal ...
- Nginx 负载配置
简版的,详细参数需要自己微调. nginx.conf http{ upstream name { server 127.0.0.1:8777; server 127.0.0.1:8778; serve ...