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

2024-01-09 19:34:14 2点赞 12收藏 0评论

当前更新时间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.pnglq4wsz15.png

容器管理

lq4wti08.pnglq4wti08.png

持久化卷管理

lq4wtsgk.pnglq4wtsgk.png

镜像源配置

lq4wuvok.pnglq4wuvok.png

1、创建容器
新建容器

lq4wvgl0.pnglq4wvgl0.png

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

lq4wxmse.pnglq4wxmse.png

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

lq4wyu1q.pnglq4wyu1q.png

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

lq4wzzlb.pnglq4wzzlb.png

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

lq4x1ytg.pnglq4x1ytg.png

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

lq4x34gd.pnglq4x34gd.png

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

lq4x50j3.pnglq4x50j3.png

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

lq4x7z19.pnglq4x7z19.png

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

lq4x8wfc.pnglq4x8wfc.png

5、镜像
管理已下载的镜像

lq4x976z.pnglq4x976z.png

6、持久化
管理持久化卷

lq4x9m6w.pnglq4x9m6w.png

七、部署应用
1、mysql8.2

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

lq4whcx7.pnglq4whcx7.pnglq4whu5z.pnglq4whu5z.png

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

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

lq4wjd6d.pnglq4wjd6d.pnglq4wm0rk.pnglq4wm0rk.png

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

ALTER USER 'typecho'@'%' IDENTIFIED WITH mysql_native_password BY 'passwd';lq4wpkj8.pnglq4wpkj8.png

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

lq4wfq63.pnglq4wfq63.pnglq4wg6w3.pnglq4wg6w3.pnglq4wgeb8.pnglq4wgeb8.png

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

lq4wb1yb.pnglq4wb1yb.pnglq4wbajq.pnglq4wbajq.png

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

lq4wa5fj.pnglq4wa5fj.png

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

lq4w9l50.pnglq4w9l50.pnglq4wri5d.pnglq4wri5d.png

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

lq4w7hw5.pnglq4w7hw5.png

八、小结
太强大了!

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
12
扫一下,分享更方便,购买更轻松