怎么读mysqldocker容器的服务步骤:
1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下
[plain] view plain copy print?
FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"
RUN yum install -y mysql-server mysql
RUN /etc/init.d/mysqld start \
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"\
mysql -u root -pletmein -e "show databases;"
EXPOSE 3306
CMD ["/usr/bin/mysqld_safe"]
2. 在Dockerfile所在目录下运行build命令来生成image文件,这里使用mysql_server作为image文件名
[plain] view plain copy print?
sudo docker build -t mysql_server .
运行完build命令后 , 可以使用“sudo docker images”来查看 。
3. 启动容器
3.1 首先使用下面的命令来启动容器
[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -P mysql_server
启动完容器后,可以使用“sudo docker ps”来查看,此时可以看PORTS列内容为“0.0.0.0:49153-3306/tcp”,容器的3306端口会被映射到宿主机器的49153端口,这样我们就可以通过宿主机器的49153端口来连接了 , 比如:
[plain] view plain copy print?
mysql -h 宿主机器 -u root -pletmein -P 49153
3.2 另外在运行容器的时候也可以通过下面的命令
[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -p 3306:3306 mysql_server
此时容器的3306端口会被映射到宿主机器的3306端口,这样我们就可以通过宿主机器的3306端口访问mysql了
[plain] view plain copy print?
mysql -h 宿主机器 -u root -pletmein
3.3 还有一种情况就是为了安全考虑 , 我只希望当前的宿主机器可以访问mysql服务,此时我们可以
【怎么访问mysql容器 windows访问mysql】[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -p 127.0.0.1:3306:3306 mysql_server
如何进入启动的mysql docker容器进入Linux后怎么访问mysql容器,使用Docker命令下载MySQL怎么访问mysql容器 , 命令如怎么访问mysql容器:dockerpullmysql:5.7运行该命令后怎么访问mysql容器,则会显示以下日志:5.7:Pullingfrommysql4c8cbfd2973e:Pullcomplete60c52dbe9d91:Pullcompletec2b0136be90f:Pullcomplete273cd71eacf0:Pullcomplete543ff72402d8:Pullcompletef928e22e58b0:Pullcomplete2d1023ecaed4:Pullcomplete059dbbef4dd8:Pullcompleteac0ee0367a32:Pullcompletea9057a689e83:Pullcomplete5191ddfc3b01:Pullcomplete6e2ce31eb835:Pullcomplete099dc92e9b15:Pullcomplete7b4030a6b20b:Pullcompletefdb9c2185fc2:Alreadyexistsmysql:5.7:Theimageyouarepullinghasbeenverified.Important:imageverificationisatechpreviewfeatureandshouldnotbereliedontoprovidesecurity.Digest:sha256:d00f3f3cd30d0e8ad9bdf8ba61729ee1a4b6fe84a0fbb95f07dc2668a4cb5d08Status:Downloadednewerimageformysql:5.7下载需要一段时间,下载完毕后,启动Docker容器 。
如何访问k8s集群内部署的mysql服务虽然 kubernetes 社区一直在努力使得有状态应用成为一等公民 , 也推出怎么访问mysql容器了 statefulset 控制器支持 pod 怎么访问mysql容器的顺序部署,稳定怎么访问mysql容器的域名访问和存储访问 。但鉴于 MySQL 部署运维的多样性和复杂性,在 kubernetes 上部署 MySQL 仍然要面临众多挑战 。
1、业务流量入口的配置方式
传统虚拟机环境下,我们通过虚IP的方式 , 让业务应用都配置事先定义的一个虚IP为链接数据库的地址,然后由高可用服务保证虚IP始终能被路由到master数据库 。在kubernetes中,出现了一层网络插件屏蔽了底层网络拓扑 , 高可用服务管理虚IP的方式需要随之适应调整,比如通过service结合标签完成虚IP的漂移,但service本身是kubernetes提供的一项功能,其可靠性和性能都取决于kubernetes服务的稳定 。以性能来说,service是kubeproxy组件通过配置iptables实现的,当iptables规则较多时不可避免的会产生时延,需要我们针对性的解决 。
2、容器隔离带来的监控视野问题
在 kubernetes 中,如果将 MySQL 制作为 container 运行在一个 pod 中 , container 会将 MySQL 进程和运行环境隔离在一个单独的 namespace 中 。监控组件在获取 MySQL 的一些 metirc 时,可能不得不进入与 MySQL 同一个 namespace 中,在部署和设计监控组件时需要考虑到这些限制 。
3、存储在 kubernetes 中,支持配置各种不同的存储 。
如果使用本地存储 local persistent volume,则需要绑定 MySQL 在一个固定的节点,这就完全浪费了 kubernetes 灵活调度的天然优势怎么访问mysql容器;而如果使用远程共享存储,确实是将 MySQL 进程与其存储完全解耦,使得 MySQL 进程可以在任意节点调度,然而考虑到高 I/O 吞吐量的情况,就不是那么美好了 。设计时需要考量远程存储是否能够满足 MySQL 的带宽要求 。
4、高可用/备份恢复
kubernetes 提供的 statefulset 控制器只能提供最基本的部署 , 删除功能 , 无法实现完善的 MySQL 集群高可用/备份恢复操作 。对于有状态应用的部署,仍需要定制开发,所以多数公司提供了定制的 operator 来完成应用容器的管理 。比如 etcd operator,MySQL operator,后文将为大家详述我测试使用 MySQL operator 的一些记录 。
关于怎么访问mysql容器和windows访问mysql的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 好玩的体育民间游戏中班,幼儿中班民间体育游戏教案100
- asp.net样式包,aspnet html模板
- jquery三级城市代码,jquery城市二级联动代码
- vb.net二次开发ug vb二次开发cad
- 亚马逊电商到底如何赚钱,亚马逊电商是怎么做的
- 养成游戏人物属性,养成游戏人物属性介绍
- excel怎么把一个数字,excel怎么把一个数字复制一列
- go语言需要线程池吗 golang有线程吗
- ios快速打字技巧软件,ios快速打字技巧软件下载