RHEL9/ALMA9 搭配portainer docker容器管理面板进行应用部署

RHEL9/ALMA9 搭配portainer docker容器管理面板进行应用部署

王忘杰
2023-12-13 / 0 评论 / 205 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年12月14日,已超过346天没有更新,若内容或图片失效,请留言反馈。

当前更新时间2023.12.14
持续更新中

一、安装ALMA9
ALMA官网,我是用miniISO镜像
https://almalinux.org/zh-hans/get-almalinux/

二、系统配置
开启SSH登录
见红帽官方帮助,默认不允许root SSH登录
https://access.redhat.com/documentation/zh-cn/red_hat_ceph_storage/5/html/installation_guide/enabling-ssh-log-in-as-root-user-on-rhel-9_install

[root@admin ~]# echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config.d/01-permitrootlogin.conf
[root@admin ~]# systemctl restart sshd.service

使用中未发现selinux影响docker,可酌情关闭。

三、安装docker

yum install -y yum-utils
#官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#阿里云加速源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

四、配置docker网段和加速源
镜像源

/etc/docker/daemon.json

{
        "bip": "192.168.120.1/24",
        "registry-mirrors": [
                "https://pfti226w.mirror.aliyuncs.com",
                "https://hub-mirror.c.163.com",
                "https://docker.m.daocloud.io",
                "https://ghcr.io",
                "https://mirror.baidubce.com",
                "https://docker.nju.edu.cn"
        ]
}

运行docker

systemctl enable --now docker

五、安装portainer面板
创建存储卷

docker volume create portainer_data

一键部署运行portainer,8000为portainer对接端口,9443为https管理面板

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

六、面板使用
运行后,登录https://IP:9443
创建第一个管理员用户
登录local即可开始使用

主界面
lq4wsz15.png

容器管理
lq4wti08.png

持久化卷管理
lq4wtsgk.png

镜像源配置

lq4wuvok.png

1、创建容器
新建容器
lq4wvgl0.png

容器名称、端口映射等参数
lq4wxmse.png

高级选项
持久化卷 变量 重启策略
lq4wyu1q.png

容器重启会丢失全部运行中产生的数据,所以需要进行容器数据持久化设置,例如nginx容器的/etc/nginx目录配置文件,/usr/share/nginx网页目录
lq4wzzlb.png

某些容器部署时需要配置变量,如mysql8.2需要MySQL_ROOT_PASSWORD变量,否则启动失败
lq4x1ytg.png

重启策略通常配置为always总是 ,以实现开机自启动
lq4x34gd.png

2、重新创建容器
高危操作
若容器异常,可重新创建容器,除持久化数据外,容器数据全部丢失
此选项也可用于更新容器,适用于使用latest标签的容器
lq4x50j3.png

3、编辑容器
高危操作
可修改容器参数,例如映射端口,持久化等,除持久化数据外,容器数据全部丢失
lq4x7z19.png

4、容器开启、关闭、重启、暂停、恢复、删除
lq4x8wfc.png

5、镜像
管理已下载的镜像
lq4x976z.png

6、持久化
管理持久化卷
lq4x9m6w.png

七、部署应用
1、mysql8.2

必填变量 MySQL_ROOT_PASSWORD
映射端口 3306
自动持久化
lq4whcx7.png

lq4whu5z.png

注意,由于mysql8.2修改了默认加密方式,使用客户端可能无法连接!

root连接
使用DBeaver,默认连接会报Public Key Retrieval is not allowed,需要将驱动属性中allowPublicKeyRetrieval配置为TRUE,即可使用root连接
lq4wjd6d.png

lq4wm0rk.png

普通用户连接
目前大部分应用还不支持mysql8.2的新加密方式,如果遇到mysql无法连接,可新建普通用户,将用户修改为旧密码加密方式。

ALTER USER 'typecho'@'%'
  IDENTIFIED WITH mysql_native_password
  BY 'passwd';

lq4wpkj8.png

2、nginx
映射端口 443 80
映射目录
1)nginx配置目录,即nginx的/etc/nginx映射到nginx.conf卷
2)nginx网页目录,即nginx的/usr/share/nginx映射到nginx-www卷
修改配置或放置网页时,通过卷的挂载目录修改
lq4wfq63.png

lq4wg6w3.png

lq4wgeb8.png

3、php-fpm
映射端口 9000
映射目录 映射目录为nginx网页目录,即nginx的/usr/share/nginx映射到nginx-www卷,php-fpm的/usr/share/nginx同样映射到nginx-www卷,使php-fpm可以读取nginx网页目录的文件
lq4wb1yb.png

lq4wbajq.png

4、librespeed
映射端口 80
自动持久化
lq4wa5fj.png

5、typecho
映射端口 80
自动持久化
lq4w9l50.png

lq4wri5d.png

6、uptime-kuma
映射端口3001
自动持久化
lq4w7hw5.png

八、小结
太强大了!

0

评论

博主关闭了所有页面的评论