欢迎光临
我们一直在努力

阿里云服务器安装docker、mysql踩过的坑

小白第一次买阿里云服务器,开开心心的打开,修改登录密码,就直接用ssh连接服务器安装docker了(至此埋下了大雷。。。)

首先说连接阿里云服务器,根据文档指示,修改密码,重启服务器,连接成功。开始安装docker;

在刚开始的时候,由于网络的原因,我们在下载的镜像的时候,常常速度是非常慢的。所以如果下载镜像很慢的同学,可以尝试配置国内的加速器加速镜像下载

附上安装docker文档连接:

1.登录阿里开发者平台:https://dev.aliyun.com/search.html

2.点击“创建我的容器镜像”

3.注册/登录后,进入Docker 镜像仓库 (https://cr.console.aliyun.com/#/imageList),选中加速器 Tab

阿里云服务器安装docker、mysql踩过的坑

 

根据文档操作非常简单,使用加速器拉取mysql镜像速度贼快

docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.7

成功创建mysql镜像

1.查看已经运行的docker镜像

docker ps(加-a 是查看所有镜像)

 

 

2.连接到mysql镜像中

docker exec -it mysql bash

mysql是镜像的名字,镜像每次启动都必须有一个名字,该名字可以手动指定也可以自己生成,我这里指定了名字和端口号

连接成功以后,如下图,已经进入到了docker mysql镜像中

 阿里云服务器安装docker、mysql踩过的坑 

 3.查看mysql的启动状态

service mysql status

4.mysql没有启动可以使用以下命令启动

service mysql start

5.输入mysql 验证mysql是否启动成功

这个博主的文章非常值得参考

https://www.cnblogs.com/areyouready/p/8948552.html



我自己踩的坑:1.navicat客户端连接不上,开始以为端口号不对,查资料后发现自己定义的是3306,端口号正确;

2.然后ip地址以为不对,以为是容器的ip地址,反复试了也是不对;ip地址其实就是宿主机ip,也就是服务器ip

3.以为账号密码错误,经排查发现没有问题

4.由于mysql中root执行绑定在了localhost,因此需要对root进行授权,授权后,刷新后重新登录:flush privileges;查找授权,show grants for @IP地址,发现授权没有问题

5.mysql是否启动着,在启动中;

最后的最后。。。。百度可能外部访问服务器本身就不通。。。

1.阿里云服务器防火强是否没有对3306端口进行授权?(至此防火墙命令学的差不多了。。确实没有打开,但是打开后,利用telnet在windows系统上访问远程访问该ip端口号依然连接不上!!!)

 

 windows电脑如何开启telnet命令可以自行百度

如下图失败:

 

 

进入系统之后,发现CentOS 7默认已安装Firewall,但是没有启动,所以需要先启动Firewall,同时设置开机自启动。

 

  1. 登录ECS实例,执行如下命令,启动Firewall。
    systemctl start firewalld
  2. 执行如下命令,设置开机自启动。
    systemctl enable firewalld.service
    • 执行如下命令,查看防火墙状态,是否为running。
      firewall-cmd --state
    • 执行如下命令,重新载入配置。比如在添加规则等之后,需要执行此命令。
      firewall-cmd --reload
    • 执行如下命令,列出支持的zone。
      firewall-cmd --get-zones
    • 执行如下命令,列出支持的服务,在列表中的服务是放行的。
      firewall-cmd --get-services
    • 执行如下命令,查看FTP服务是否支持,返回yes表示支持,返回no表示不支持。
      firewall-cmd --query-service ftp
    • 执行如下命令,临时开放FTP服务。
      firewall-cmd --add-service=ftp
    • 执行如下命令,永久开放FTP服务。
      firewall-cmd --add-service=ftp --permanent
    • 执行如下命令,永久移除FTP服务。
      firewall-cmd --remove-service=ftp --permanent
    • 执行如下命令,永久添加80端口。
      firewall-cmd --add-port=80/tcp --permanent(开启该端口访问权限)
    • 执行如下命令,查看规则,此命令和iptables相同。(查看开启的端口)
      iptables -L -n
    • 执行如下命令,查看帮助。
      man firewall-cmd

 

2. 防火墙端口开启后依然访问不到,但是可以ping通服务器网络,又一顿百度,阿里云服务器中安全组没有打开,如下图:

控制台-已开通的产品-云服务器ECS:,点击该服务器,跳转到实例列表

阿里云服务器安装docker、mysql踩过的坑

 

阿里云服务器安装docker、mysql踩过的坑访问本实例安全组,打开,点击克隆,修改配置将3306端口放开,授权对象为0.0.0.0/0是指所有网段均可以访问该服务器的端口

 

阿里云服务器安装docker、mysql踩过的坑

 

 

3.至此我担心还不生效,重启了服务器;重启之后,再次telnet IP 3306,依旧连接不成功,有一个坑!!docker早已经关闭了,mysql当然没在运行。。。。

4.打开docker,重新运行mysql镜像,再次访问telnet IP 3306,连接成功,navicat客户端连接成功!!!想哭,我咋那么难呢!

5.同时也证明了重启服务器后docker关闭,但是mysql镜像还在,手动打开镜像,mysql正常运行;

 

 

 

 

 




 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《阿里云服务器安装docker、mysql踩过的坑》
文章链接:https://www.456zj.com/1944.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址