Docker搭建MySQL服务
Docker开源镜像
前面我们已经安装好了Docker,也简单了解了Docker。那么我们可以尝试搭建一个MySQL服务。
要搭建服务就要启动服务容器,要创建容易就要有镜像,Docker提供了一个类似Github的开源平台,提供开源镜像,放心可靠。(毕竟大家都看着源码呢)
大概步骤
1. 下载MySQL镜像
2. 创建运行容器
好像很简单是吧?
详细步骤
第零步,查看Docker MySQL文档
MySQL文档地址:
https://hub.docker.com/_/mysql/
第一步,拉取MySQL镜像
$ sudo docker pull mysql
之后docker会自动拉取(下载)MySQL镜像。
等待同样是漫长的。。。
注意,若提示拉取失败就重复几次,总有一次会成功的。。。没办法,墙内的人民很辛苦
拉取成功后我们查看一下:
$ sudo docker images
第二步,创建并启动一个MySQL容器
输入以下命令:
$ sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
- –name:给新创建的容器命名,此处命名为
pwc-mysql - -e:配置信息,此处配置
mysql的root用户的登陆密码 - -p:端口映射,此处映射
主机3306端口到容器pwc-mysql的3306端口 - -d:成功启动容器后输出容器的完整ID,例如上图
73f8811f669ee... - 最后一个
mysql指的是mysql镜像名字
到这里我们查看容器运行状态:
$ sudo docker ps
上图可以看到容器的简写ID,容器的源镜像,创建时间,状态,端口映射信息,容器名字等。
第三步,测试连接MySQL
这里我使用navicat远程连接,连接MySQL前需要防火墙开放端口或者关闭防火墙。
开放端口:
$ sudo firewall-cmd --add-port=3306/tcp
关闭防火墙:
$ sudo systemctl stop firewalld
接着使用navicat连接
连接成功,也可以进行相关数据库操作,因此MySQL服务搭建成功!
其他
1.可以启动多个MySQL服务,因为我们启动的是容器,容器可以有多个,只要容器名字映射段端口不一样就可以了,例如:
$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql
2.查看所有容器(启动状态或者关闭状态)
$ sudo docker ps -a
3.启动和关闭容器
启动命令:
$ sudo docker start pwc-mysql //通过指定容器名字
$ sudo docker start 73f8811f669e //通过指定容器ID
关闭命令:
$ sudo docker stop pwc-mysql //通过指定容器名字
$ sudo docker stop 73f8811f669e //通过指定容器ID
3.修改MySQL配置文件有两种方法:
一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器,例如:
$ sudo docker exec -it pwc-mysql /usr/bin/bash然后可以进入容器的命令行模式,接着修改
/etc/mysql/my.cnf文件即可二是挂载主机的mysql配置文件,官方文档如下:
The MySQL startup configuration is specified in the file
/etc/mysql/my.cnf, and that file in turn includes any files found in the/etc/mysql/conf.ddirectory that end with .cnf. Settings in files in this directory will augment and/or override settings in/etc/mysql/my.cnf. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as/etc/mysql/conf.dinside the mysql container.If
/my/custom/config-file.cnfis the path and name of your custom configuration file, you can start your mysql container like this (note that only the directory path of the custom config file is used in this command):$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tagThis will start a new container some-mysql where the MySQL instance uses the combined startup settings from
/etc/mysql/my.cnfand/etc/mysql/conf.d/config-file.cnf, with settings from the latter taking precedence.
我大概可以看懂,相信大家都可以的
Docker搭建MySQL服务的更多相关文章
- 使用Docker搭建MySQL服务
一.安装docker windows 和 mac 版可以直接到官网下载 docker desktop linux 的安装方法可以参考 https://www.cnblogs.com/myzony/p/ ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- Docker搭建MySQL的PXC集群
原文:Docker搭建MySQL的PXC集群 一.简介 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galer ...
- Spring Cloud和Docker搭建微服务平台
用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...
- Docker搭建MySQL主从复制
Docker搭建MySQL主从复制 主从服务器上分别安装Docker 1.1 Docker 要求 CentOS 系统的内核版本高于 3.10 [root@localhost ~]# uname -r ...
- MySQL(14)---Docker搭建MySQL主从复制(一主一从)
Docker搭建MySQL主从复制(一主一从) 上一篇博客写了MYSQL主从复制原理 : MySQL(13)---MYSQL主从复制原理 这篇我们来写 Docker搭建MYSQL主从复制(一主一从) ...
- docker 搭建 web 服务环境
docker容器虽然早就听说过,但是本人还真的没去用过,刚好看到相关的文章,就分享了下,有机会可以实践下...... 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都 ...
- Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建My ...
- 1021 docker搭建mysql、网络模式、grid
1.搭建并连接mysql服务 1.1.mysql官方命令 https://hub.docker.com/_/mysql/ #下载mysql镜像: docker pull mysql #启动mysql: ...
随机推荐
- P1912: [Apio2010]patrol 巡逻
这道题讨论了好久,一直想不明白,如果按传统的随便某一个点出发找最长链,再回头,K=2 的时候赋了-1就没法用这种方法找最长链了,于是乎,更强的找最长链的方法就来了..类似于DP的东西吧.先上代码: ; ...
- CAD字体显示错乱问题解决方案
最近这两天一直在画竣工图,用CAD用得挺多的,所以老是发现一些问题.今天在打开别人发过来的图纸时,我看到竟然还有钢筋符号无法显示…… 像这种问题的解决,据我所知就两种方法: 一.替换使用的字体 首先选 ...
- @synthesize 有什么好处?
如果不用 synthesize,操作的是 @property中定义的变量,使用synthesize之后,间接的操作了一个新的成员变量,到底有什么好处?直接只用一个@property不是更简单吗?
- iptables规则表
1.iptables规则表 Filter(针对过滤系统):INPUT.FORWARD.OUTPUT NAT(针对地址转换系统):PREROUTING.POSTROUTING.INPUT.OUTPUT ...
- 软件工程随堂小作业—— 寻找“水王”(C++)
一.设计思路 (1)输入发帖ID记录表 (2)从第一个ID开始,与后续的发帖ID进行比较,若相同计数器则加一,否则减一.若计数器的数值被减为零,则重新选取当前ID开始记录比较. (3)输出结果 二.源 ...
- block extends include三者的差别跟用法
block extends include三者的差别跟用法 一.定义基础模板,在html内容中定义多个block块,block由子模板引用同名block块,来决定是否替换这些部分{% block ti ...
- appium 启动失败解决方案
本机下载了:AppiumForWindows,启动Appium.exe 的时候,立即提示:应用程序已停止运行!! 本机环境: WIN 7 64 位,后来查了资料才知道Appium 要求安装.net f ...
- UML 用例图,时序图,活动图的定义以及区别
1.用例图,时序图,活动图的定义 1.用例图: 用例图描述了系统提供的一个功能单元.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色" ...
- 一个关于ExtJS4具体控件的详细教程
发现一遍介绍ExtJS控件介绍的比较好的系列文章,在此做总结 ExtJs4 笔记(1) ExtJs大比拼JQuery:Dom文档操作 ExtJs4 笔记(2) ExtJs对js基本语法扩展支持 Ext ...
- 【BZOJ】【2631】Tree
LCT 又一道名字叫做Tree的题目…… 看到删边加边什么的……又是动态树问题……果断再次搬出LCT. 这题比起上道[3282]tree的难点在于需要像线段树维护区间那样,进行树上路径的权值修改&am ...