使用Portainer部署MySQL容器
应用场景
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据库逻辑卷的基本操作、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。Flexus L实例提供Portainer应用镜像,该镜像基于Ubuntu 22.04操作系统,采用Docker部署,已预置Docker、Portainer软件。本文介绍如何使用Portainer进行Docker可视化管理。
资源和成本规划
资源 |
资源配置 |
说明 |
---|---|---|
云主机 |
|
Portainer应用镜像运行的最低配置为2核2GiB,您可根据您的业务需求选择Flexus应用服务器L实例规格。 |
镜像 |
Portainer |
选择Portainer应用镜像。 |
安全组 |
入方向规则:
|
|
操作流程
操作步骤 |
说明 |
---|---|
购买Flexus L实例,选择Portainer应用镜像一键部署Flexus L实例。 |
|
配置安全组的入方向访问规则,确保可以正常访问应用镜像。 |
|
设置服务器密码、登录云服务器,设置Nginx安全级别。Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。 |
|
登录应用界面安装Portainer并进行初始化配置。 |
|
以部署MySQL容器为例,简介如何使用Portainer进行Docker可视化管理。 |
步骤一:购买Flexus L实例
- 登录Flexus应用服务器L实例控制台。
- 单击“购买Flexus L实例”,在下拉列表中选择“购买Flexus应用服务器L实例”。
- 对Flexus应用服务器L实例进行资源配置。
参数
示例
说明
区域
北京-北京四
请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。Flexus应用服务器L实例创建后无法更换区域,请谨慎选择。
应用镜像
Portainer
选择Portainer应用镜像。
实例规格
2核4G、系统盘40GiB
选择实例规格。
实例名称
Portainer-Example
请自定义方便您识别的实例名称,例如Portainer-Example。
附加服务(可选)
- 数据盘:10GiB
- 主机安全
- 云备份:50GiB
请根据您的业务需要自主选择数据盘、主机安全、云备份附加服务并设置规格。
购买时长
1个月
单次购买最短为1个月,最长为3年。
Flexus应用服务器L实例支持自动续费功能。勾选后,在Flexus应用服务器L实例到期前自动续费。如果您购买时未开通自动续费,后续仍可以在控制台开通。自动续费的更多信息详见自动续费。
购买数量
1台
设置您购买的Flexus应用服务器L实例数量。
- 单击“立即购买”,根据页面提示完成购买。
- 单击“返回华为云Flexus云服务控制台”,查看已创建的Flexus应用服务器L实例。
步骤二:配置安全组
配置安全组的入方向访问规则,确保可以正常访问应用镜像。
- 在Flexus应用服务器L实例控制台,单击资源卡片,进入资源页面。
- 在左侧列表中选择“云主机 VM”,单击云主机名称,进入云主机详情页面。
- 选择“安全组”页签,单击“添加规则”,添加如下规则。
本例只添加基本规则,您可根据需要添加更多规则。
表1 安全组规则 优先级
策略
类型
协议端口
源地址
描述
1
允许
IPv4
TCP:443
0.0.0.0/0
允许使用HTTPS协议访问应用管理页面。
1
允许
IPv4
TCP:80
0.0.0.0/0
允许使用HTTP协议访问管理页面。
1
允许
IPv4
TCP:3306
0.0.0.0/0
允许访问MySQL数据库。
步骤三:设置Nginx安全级别
应用镜像的Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。
- 在Flexus L实例控制台“概览”页的“镜像信息”区域中,单击“管理”进入应用的管理页面,检查应用是否已经启动完毕。应用启动完毕后再执行下一步。
刚创建Flexus L实例后的几分钟,应用处于启动过程中,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免初始密码信息失效导致无法正常登录应用的管理页面。
图1 应用的管理页面入口
应用启动完毕时,您可以看到如图2正常的管理页面初始化引导界面。
如果管理页面未正常显示,请排查以下原因:
- 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
- 管理页面正在启动中:请稍后重试。
- 在资源卡片上,选择“更多”,单击“重置密码”设置Flexus L实例的密码。
Flexus L实例无初始密码,登录Flexus L实例前请先设置Flexus L实例密码。更详细的操作步骤参见重置Flexus L实例密码。
图3 重置密码
- 单击资源卡片上的“远程登录”按钮,根据界面提示,输入用户名密码登录Flexus L实例。
- 执行如下命令,运行nginx_huaweicloud.sh脚本。
wget -N https://websoft9.github.io/stackhub/scripts/nginx_huaweicloud.sh && bash nginx_huaweicloud.sh
Nginx安全级别过高,可能导致部分应用功能不可用,请运行nginx_huaweicloud.sh脚本设置Nginx安全级别。
步骤四:初始化Portainer
由于应用镜像是基于代码界面的Ubuntu操作系统,为了便于您操作,应用具备可视化的管理页面,登录管理页面后,您即可便捷的配置应用。首次登录应用的管理页面需要初始化,后续在Flexus L实例控制台可直接登录管理页面。
- 在服务器“概览”页“镜像信息”中,单击“管理”登录管理页面。
如果管理页面未正常显示,请排查以下原因:
- 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
- 管理页面正在启动中:请稍后重试。
对于Portainer应用镜像,新购买、重装操作系统或切换操作系统后,初始化过程有一定时效性,如果未能快速创建用户,会出现下图提示。请登录云服务器执行命令sudo docker restart portainer重启Portainer,随后快速创建用户。
- 设置Portainer管理员用户名密码,单击“Create user”。
如果您有备份的数据,在“Restore Portainer from backup”配置项中,您可以从本地上传备份数据以便快速搭建Portainer环境。
图4 Portainer管理页面的初始化引导页面
- 选择“Home”菜单,单击Local项目就可以开始使用Portainer进行Docker可视化管理 。
至此,Portainer应用初始化完毕,接下来您即可在应用的管理页面部署容器。
- 选择“Contaners”菜单,单击“Add container”添加MySQL容器。
- 按图示配置MySQL容器参数。
- ①Name:自定义的容器名称
- ②Image:容器镜像名称,例如设置mysql:5.7,系统将自动在DockerHub中拉取MySQL5.7容器镜像。
- ③单击“publish a new network port”,添加3306端口,确保可以正常访问MySQL数据库。
- ④Env:设置环境变量。
- MYSQL_ROOT_PASSWORD:必填,数据库root用户的密码。在登录MySQL容器时使用,请妥善保管root用户的密码。
请保证MYSQL_ROOT_PASSWORD变量字符串正确,否则无法连接数据库。
- MYSQL_DATABASE:选填,创建MySQL容器后自动创建一个名为value栏所填写的值 (例如wordpress) 的数据库。
- MYSQL_ROOT_PASSWORD:必填,数据库root用户的密码。在登录MySQL容器时使用,请妥善保管root用户的密码。
- ⑤Restart policy:建议选择“Always”,使得容器无论在什么情况下停止总会自动重新启动。
- 单击“Deploy the container”创建MySQL容器。
- 返回到容器列表,单击mysql操作列表中的图标。
- 在新打开的页面,单击“Connect”,连接到容器。
- 在命令窗口中输入如下命令,登录mysql数据库。
mysql -uroot –p123456,其中123456为MYSQL_ROOT_PASSWORD变量定义的值。