1.【Docker】MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)
2.可视化Docker管理工具-DockerUI
3.使用 Docker 搭建 Calibre-Web 在线书库
4.Docker源码安装附内网镜像安装演示
5.Docker 搭建多容器组合服务 (nginx + PHP)
6.consulmanager部署和使用
【Docker】MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)
基于 ARM 架构,源码为避免MySQL版本变化带来的下载额外成本,本文将指导你如何从头构建MySQL 5.7.的源码Docker镜像。首先,下载我们从官方镜像的源码Dockerfile入手,但官方仅提供MySQL 8.0以上版本的下载怎么看源码好坏ARM镜像,因此需要采取特殊步骤。源码 步骤一,下载使用dfimage获取MySQL 5.7.的源码原始Dockerfile,注意其原文件中通过yum安装的下载逻辑不适用于ARM,因为官方yum源缺少该版本的源码ARM rpm。所以,下载你需要:在ARM环境中安装必要的源码依赖
下载源码并安装
修改源码配置以适应ARM架构
编译源码生成rpm文件,结果存放在/root/rpmbuild/RPMS/aarch目录
构建镜像的下载Dockerfile、docker-entrypoint.sh脚本(解决Kylin V兼容性问题,源码会在后续文章详细说明)以及my.cnf文件是构建过程中的关键组件。虽然原Dockerfile需要调整以消除EOF块的报错,但整个过程需要细心处理和定制化以适应ARM平台。可视化Docker管理工具-DockerUI
DockerUI是一个便捷且轻巧的Docker管理工具,它通过Web界面让那些不熟悉Docker命令的用户能迅速融入Docker的世界。
DockerUI提供了直观的界面,用户无需记住复杂的Docker命令,只需下载镜像,便可以立即完成部署。利用Docker的特性,在DockerUI中直接更新镜像版本,并使用相同的java登录邮件验证源码配置重新部署,即可实现升级,同时享受最新版本的功能。
DockerUI涵盖了Docker CLI命令行%以上的命令功能,通过其提供的可视化操作功能,用户可以轻松地管理Docker环境和Docker Swarm集群环境。
DockerUI是一个图形化的Docker容器镜像管理工具,用户可以利用它轻松构建、管理和维护Docker环境。此外,DockerUI是完全开源免费的,支持基于容器化的安装方式,方便高效地部署。
官方站点:github.com/gohutool/doc...
Docker主机管理、数据卷管理、镜像管理、容器管理、构建管理、仓库配置管理、网络配置管理。
Docker Swarm集群管理包括集群概要信息、节点管理、Service管理、任务管理、密码管理、配置管理。
支持Docker任务编排和Docker Swarm任务编排。微网站营销系统源码
首页(概要)、镜像列表、搜索仓库/拉取镜像、构建镜像、导入/导出镜像、推送镜像、启动镜像、容器列表、容器控制台、容器文件系统、容器监控、容器进程管理、容器文件导出、网络管理、集群管理、服务创建、任务管理、任务列表、容器编排。
安装和入门:
来自Github:从github网站下载源代码,请访问 github.com/gohutool/doc...
安装golang运行时环境。
进入项目目录,运行命令:./server启动。
来自hub.docker.com:从中心提取图像,使用命令docker image pull Joinsunsoft/docker.ui。
启动镜像,mt4 cci 源码使用命令docker container run --rm --name docker.ui -v /var/run/docker.sock:/var/run/docker.sock -p : joinsunsoft/docker.ui。
访问:...:。
初始用户名/密码:ginghan/。
使用 Docker 搭建 Calibre-Web 在线书库
Calibre 是一款功能强大的电子书库管理工具,支持书籍的便捷管理和格式转换。Calibre-Web 则提供在线访问书库、发送书籍至Kindle、使用阅读器访问书库等服务。本篇文章将介绍如何使用 Docker 或源码部署 Calibre-Web。
在使用 Docker 部署 Calibre-Web 之前,需要先安装 Docker。可以通过官方文档中的安装方法完成,包括安装依赖、添加阿里镜像源、列出可用版本以及安装最新版本等步骤。安装成功后,使用命令启动 Docker,并运行 Docker 镜像。
为了部署 Calibre-Web,需要查看可用的 Docker 镜像。常用的镜像有两个选项:technosoft/calibre-web 和 linuxserver/calibre-web。前者自带电子书转换功能,但镜像较大,有 1.5G 左右;后者较为轻量,无电子书转换功能。部署时,如何本地运行php源码还需确保防火墙开放 端口。
创建并运行 Docker 容器,使用命令 `docker run`,并指定参数如 `-d`(后台运行)、`-p`(端口映射)、`-v`(挂载存储卷)等。创建过程中,会从 GitHub 下载文件,速度较慢。当出现 “Launching Calibre-Web” 时,表明服务启动完成。
对于不希望使用 Docker 的情况,可以使用源码部署 Calibre-Web。首先,需要安装 Python3 环境,并从指定链接下载 Calibre-Web 源码。解压后,使用 `pip install -r requirements.txt` 下载必要的包和模块。接着,确保防火墙开放 端口,并启动服务。
完成部署后,通过浏览器访问 Calibre-Web,使用默认用户 `admin` 和密码 `admin` 登录。系统会提示选择数据库位置,将 `metadata.db` 文件(可通过安装的 Windows 版本的 Calibre 创建得到)拷贝到 `/calibre/books/` 目录下,并修改权限。默认情况下,上传书籍的权限被关闭,需要在设置中进行修改。此外,还可以从已有的 Calibre 书库导入书籍或使用 IP:/opds 方式添加书库。
部署 Calibre-Web 后,可以通过 Zhihu On VSCode 等工具进行创作和发布。
Docker源码安装附内网镜像安装演示
系统版本要求源码包下载
官网下载地址(download.docker.com/lin...)
我这里已docker-...tgz该版本做演示
1.下载源码包文件到本地
2.通过远程连接工具(xShell、SecureCRT等将源码包文件上载到服务器自定义目录)
3.解压文件
4.配置docker为service服务
5.添加可执行权限
注:如遇到启动不成功可通过状态查询、/var/log/messages/运行日志或直接使用dockerd命令查看错误信息,如还解决不了建议服务器重启一下在运行docker启动命令
6.配置镜像加速
7.检查安装版本内网下载镜像
注:使用docker pull拉取镜像的时候需要网络,但是项目部署一般都是在内网。内网访问不了外网,所以需要在外网环境下把需要的镜像拉取下来打包,然后拷贝到内网,载入到内网的docker
1.在外网机器上拉取mysql镜像,可以看到外网的docker已经拉取了镜像。
2.将镜像打包成tar压缩包
3.将打包好的mysql镜像包通过远程工具下载到本地
4.拷贝到内网linux服务器并载入docker
docker基础命令使用(扩展)下载镜像:(hub.docker.com/search/官网镜像地址)
docker pull [IMAGE_NAME]:[TAG] #命令格式
docker pull mysql:8.0 #下载mysql8.0镜像(不指定默认下载最新版本)
查看当前镜像版本
docker -v #查看当前安装版本
docker version #查看版本信息
docker info #查看系统信息
docker images #查看当前镜像
docker search 镜像名 #搜索镜像
镜像、容器删除
docker rm 容器ID
docker rm 容器名字
docker rmi 镜像ID
docker rmi 镜像名
docker rmi -f 镜像ID #强制删除
创建网络及数据卷
docker volume create +数据卷名称
docker volume list #查看当前数据卷信息
docker network create -d bridge +网络名称
docker network ls #查看当前网络
docker inspect containername +id #查看容器的hash值
启动、关闭容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) #关闭所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) #开启所有容器
杂
docker inspect 容器ID (使用该命令重点关注容器ip) #查看容器/镜像元数据
docker exec #在运行的容器中执行命令
docker exec -it 容器ID /bin/bash #以交互模式开启伪终端
Docker 搭建多容器组合服务 (nginx + PHP)
Docker 安装 Nginx 和 PHP
在开始之前,确保 Docker 已经安装在你的系统上。可以通过运行 `docker images` 命令来检查本地是否有 Nginx 和 PHP 的镜像。如果没有,可以使用官方 Docker Hub 来下载这些镜像。
安装 PHP:
运行命令 `docker run –name myphp -p : -v E:\WWW:/var/www/html -d php:7.4-fpm`。这里,`myphp` 是容器的名字,`:` 表示容器内部端口 映射到主机的端口 ,`E:\WWW:/var/www/html` 指明了容器内的 `/var/www/html` 目录挂载到本地 `E:\WWW` 目录上,`php:7.4-fpm` 是 PHP 的镜像版本。
安装 Nginx:
运行命令 `docker run –name mynginx -p : -v E:\WWW:/usr/share/nginx/html –link=myphp:phpfpm -d nginx`。`mynginx` 是容器的名字,`:` 表示容器内部端口 映射到主机的端口 ,`E:\WWW:/usr/share/nginx/html` 指明了容器内的 `/usr/share/nginx/html` 目录挂载到本地 `E:\WWW` 目录上,`–link=myphp:phpfpm` 表示与 `myphp` 容器连接,并以 `phpfpm` 作为别名。
配置 Nginx 和 PHP 通信:
复制本地的 `default.conf` 配置文件到 `mynginx` 容器的 `/etc/nginx/conf.d` 目录下,使用命令 `docker cp E:\WWW\default.conf fae3ec6f:/etc/nginx/conf.d`,其中 `fae3ec6f` 是 `mynginx` 容器的 ID。确保配置文件中的 `fastcgi_pass`、`fastcgi_param` 和 `root` 参数正确指向 PHP 和 HTML 文件的路径。
加载配置并访问项目:
通过 `docker exec -it mynginx bash` 命令进入 `mynginx` 容器,然后执行 `service nginx reload` 来加载配置文件。最后,访问 `/starsliao/Te... #consulmanager项目地址
consulmanager 是一个开源的项目,现在已经更名为tensuns,有兴趣的可以自行研究
要想安装consulmanager,必须先安装下面三个 docker ,docker-compase, consul
1.1 安装consul
1.1.1 安装consul-基于centos7
1.1.2 生成uuid
1.1.3 配置文件设置
1.1.4 启动consul
访问方式 ip:
1.2 安装docker和docker-compase
1.2.1 安装docker
1.2.2 安装docker-compase
二 安装 ConsulManager
2.1 下载源码
下载地址 github.com/starsliao/Co...
目录结构如下:
2.2 docker-compose.yml 内容
2.3 启动并访问
三 配置consulmanager
3.1 云主机管理
3.1.1 同步云主机
云主机管理就是可以自动同步云服务器到consulmanager这个上面
前提是需要你在云账号里面创建access key 和secret key,这个账号还需要有访问主机的权限
新增云资源
创建完成之后,你可以手动同步,也可以自动同步,然后去云主机列表查看,是否同步过来了
3.1.2 批量云主机监控
前提是每天主机需要安装好node-exporter
选定好指定的组,选择好系统,点击生成配置,然后把这个配置,粘贴到prometheus的配置文件中
进行重启prometheus
然后进去到prometheus-target里进行查看
当然如果你的node-exporter的端口不是,怎么办,打开cousul的web页面,可以自定义设置
3.1.3 导入对应的模版
导入ID:
详细URL: grafana.com/grafana/das...
3.1.4 设置告警规则
3.2 blackbox站点监控设置
3.2.1. 配置Blackbox_Exporter
在Web页面点击
Blackbox 站点监控/Blackbox 配置,点击
复制配置,如下所示:
复制配置到 blackbox.yml,清空已有的配置,把复制的内容粘贴进去,重启blackbox_exporter
3.2.2 配置Prometheus
在Web页面点击 Blackbox 站点监控/Prometheus 配置,点击复制配置。编辑Prometheus的
prometheus.yml,把复制的内容追加到最后,reload或重启Prometheus
3.2.3. 配置Prometheus告警规则
在Web页面点击
Blackbox 站点监控/告警规则,点击复制配置。
编辑Prometheus的配置文件,添加 rules.yml,然后把复制的内容粘贴到rules.yml里面,reload或重启Prometheus。
然后去prometheus查看告警规则是否生成
3.2.4. 查看Prometheus
在Prometheus的Web页面中,点击Status-Targets,能看到新增的Job即表示数据同步到Prometheus。
3.2.5 新增tcp或者/grafana/das...
最终在grafana访问的效果如下:
四 总结
到这里基本的监控项和报警规则都已经设定好了,接下来会介绍告警的方式和具体实现
docker制作php5.4运行环境镜像
详细步骤如下:
1. 从官方获取并下载PHP 5.4镜像。
2. 使用Docker运行CentOS 7容器,容器ID为eeb6ee3fbd,指定名称为edncenos7。
3. 在容器内,安装并下载所需PHP插件。
如果遇到wget命令不可用或yum下载无网络的问题,请先解决网络问题,若网络环境无法改变,考虑使用本地缓存。
配置Docker容器的网络设置,确保容器可以联网。
在容器中,通过解压PHP源码完成安装。
安装所需依赖项,例如curl-devel和lib/cpp。
配置PHP编译选项,确保安装满足项目需求。
解决安装过程中可能遇到的错误,例如安装curl-devel模块。
执行编译和安装命令,完成PHP源码的安装。
检查新安装的PHP版本,确保正确安装。
安装nginx,先检查系统中是否已安装,若安装则卸载。
从官网下载并解压最新版本的nginx,执行安装命令。
检查nginx安装目录以确认安装成功。
如果安装过程中出现错误,使用whereis命令查看。
启动和停止nginx服务,使用特定命令执行操作。
重启nginx,推荐先停止后启动确保服务稳定。
重新加载配置文件,确保修改后的配置立即生效。
配置nginx开机自启动,修改rc.local文件添加启动代码。
至此,PHP 5.4运行环境及nginx已成功安装并配置完成,可根据项目需求进行后续配置与开发。
2024-11-23 12:23
2024-11-23 11:57
2024-11-23 11:56
2024-11-23 11:47
2024-11-23 11:12
2024-11-23 10:55
2024-11-23 10:36
2024-11-23 10:12