更新时间:2024-12-04 GMT+08:00
分享

使用Portainer部署MySQL容器

应用场景

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据库逻辑卷的基本操作、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。Flexus L实例提供Portainer应用镜像,该镜像基于Ubuntu 22.04操作系统,采用Docker部署,已预置Docker、Portainer软件。本文介绍如何使用Portainer进行Docker可视化管理。

资源和成本规划

资源

资源配置

说明

云主机

  • CPU:2核
  • 内存:4GiB

Portainer应用镜像运行的最低配置为2核2GiB,您可根据您的业务需求选择Flexus应用服务器L实例规格。

镜像

Portainer

选择Portainer应用镜像。

安全组

入方向规则:

  • 协议/应用:TCP
  • 端口:80、443、3306
  • 源地址:0.0.0.0/0
  • 80:允许使用HTTP协议访问网站。
  • 443:允许使用HTTPS协议访问网站。
  • 3306:允许访问MySQL数据库。

操作流程

操作步骤

说明

步骤一:购买Flexus L实例

购买Flexus L实例,选择Portainer应用镜像一键部署Flexus L实例。

步骤二:配置安全组

配置安全组的入方向访问规则,确保可以正常访问应用镜像。

步骤三:设置Nginx安全级别

设置服务器密码、登录云服务器,设置Nginx安全级别。Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。

步骤四:初始化Portainer

登录应用界面安装Portainer并进行初始化配置。

步骤五:使用Portainer部署MySQL容器

以部署MySQL容器为例,简介如何使用Portainer进行Docker可视化管理。

步骤一:购买Flexus L实例

  1. 登录Flexus应用服务器L实例控制台
  2. 单击“购买Flexus L实例”,在下拉列表中选择“购买Flexus应用服务器L实例
  3. 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实例数量。

  4. 单击“立即购买”,根据页面提示完成购买。
  5. 单击“返回华为云Flexus云服务控制台”,查看已创建的Flexus应用服务器L实例

步骤二:配置安全组

配置安全组的入方向访问规则,确保可以正常访问应用镜像。

  1. Flexus应用服务器L实例控制台,单击资源卡片,进入资源页面。
  2. 在左侧列表中选择“云主机 VM”,单击云主机名称,进入云主机详情页面。

  3. 选择“安全组”页签,单击“添加规则”,添加如下规则。

    本例只添加基本规则,您可根据需要添加更多规则。

    表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安全级别解决。

  1. 在Flexus L实例控制台“概览”页的“镜像信息”区域中,单击“管理”进入应用的管理页面,检查应用是否已经启动完毕。应用启动完毕后再执行下一步。

    刚创建Flexus L实例后的几分钟,应用处于启动过程中,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免初始密码信息失效导致无法正常登录应用的管理页面。

    图1 应用的管理页面入口

    应用启动完毕时,您可以看到如图2正常的管理页面初始化引导界面。

    图2 Portainer管理页面的初始化引导页面

    如果管理页面未正常显示,请排查以下原因:

    • 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
    • 管理页面正在启动中:请稍后重试。
  2. 在资源卡片上,选择“更多”,单击“重置密码”设置Flexus L实例的密码。

    Flexus L实例无初始密码,登录Flexus L实例前请先设置Flexus L实例密码。更详细的操作步骤参见重置Flexus L实例密码

    图3 重置密码
  3. 单击资源卡片上的“远程登录”按钮,根据界面提示,输入用户名密码登录Flexus L实例。

    用户名为root,密码为上一步骤设置的密码。

  4. 执行如下命令,运行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实例控制台可直接登录管理页面。

  1. 在服务器“概览”“镜像信息”中,单击“管理”登录管理页面。

    如果管理页面未正常显示,请排查以下原因:

    • 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
    • 管理页面正在启动中:请稍后重试。

    对于Portainer应用镜像,新购买、重装操作系统或切换操作系统后,初始化过程有一定时效性,如果未能快速创建用户,会出现下图提示。请登录云服务器执行命令sudo docker restart portainer重启Portainer,随后快速创建用户。

  2. 设置Portainer管理员用户名密码,单击“Create user”

    如果您有备份的数据,在“Restore Portainer from backup”配置项中,您可以从本地上传备份数据以便快速搭建Portainer环境。

    图4 Portainer管理页面的初始化引导页面
  3. 选择“Home”菜单,单击Local项目就可以开始使用Portainer进行Docker可视化管理 。

至此,Portainer应用初始化完毕,接下来您即可在应用的管理页面部署容器。

步骤五:使用Portainer部署MySQL容器

本例以部署MySQL容器为例介绍如何使用Portainer进行Docker可视化管理。更多操作详见Portainer应用文档

  1. 选择“Contaners”菜单,单击“Add container”添加MySQL容器。

  2. 按图示配置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) 的数据库。
    • ⑤Restart policy:建议选择“Always”,使得容器无论在什么情况下停止总会自动重新启动。

  3. 单击“Deploy the container”创建MySQL容器。
  1. 返回到容器列表,单击mysql操作列表中的图标。

  2. 在新打开的页面,单击“Connect”,连接到容器。
  3. 在命令窗口中输入如下命令,登录mysql数据库。

    mysql -uroot –p123456,其中123456MYSQL_ROOT_PASSWORD变量定义的值。

相关文档