网站注册页面html去掉自豪的使用wordpress

张小明 2025/12/31 22:41:10
网站注册页面html,去掉自豪的使用wordpress,网站想自己做怎么弄,淄博网站开发招聘CentOS Stream 9 的 Docker 容器 —— 语法详解与实战案例系统环境#xff1a;CentOS Stream 9 x86_64 Docker 版本#xff1a;26.1#xff08;或 Podman 4.9#xff09; 目标#xff1a;掌握容器化部署核心技能一、云计算与容器概述云计算#xff1a;通过网络提供计算资…CentOS Stream 9 的 Docker 容器 —— 语法详解与实战案例系统环境CentOS Stream 9 x86_64Docker 版本26.1或 Podman 4.9目标掌握容器化部署核心技能一、云计算与容器概述云计算通过网络提供计算资源CPU、内存、存储、网络的服务模式。三种服务模型类型说明示例IaaS基础设施即服务提供虚拟机、存储、网络等基础资源AWS EC2, Azure VMPaaS平台即服务提供开发运行平台含中间件、数据库等Heroku, Google App EngineSaaS软件即服务直接提供应用程序Gmail, Office 365容器技术轻量级虚拟化共享宿主机内核隔离进程、文件系统、网络。容器 vs 虚拟机对比项容器虚拟机启动速度秒级分钟级资源占用极低高需完整 OS隔离性进程级硬件级镜像大小MB 级GB 级适用场景微服务、CI/CD、快速部署完整系统模拟、强隔离需求主流容器技术Docker最流行生态完善企业广泛使用PodmanRed Hat 主推无守护进程rootless 安全兼容 Docker CLIContainerd底层容器运行时K8s 默认使用本章重点Docker Podman 基础 Nginx/MySQL 容器化部署二、Docker 技术详解2.1 Docker 核心概念概念说明镜像Image只读模板包含运行环境和应用程序如 ubuntu:22.04, nginx:latest容器Container镜像的运行实例可启动、停止、删除仓库Registry存储镜像的地方Docker Hub, Harbor, 阿里云镜像仓库Dockerfile定义镜像构建步骤的文本文件docker-compose.yml定义多容器应用的编排文件2.2 Docker 安装CentOS Stream 9✅ 安装 Docker Engine# 卸载旧版本如有sudodnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装依赖sudodnfinstall-y dnf-plugins-coresudodnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Docker Engine、CLI、Containerdsudodnfinstall-y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 启动并设置开机自启sudosystemctl start dockersudosystemctlenabledocker# 验证安装sudodocker run hello-world✅ 将当前用户加入 docker 组免 sudosudousermod-aG docker$USERnewgrp docker# 立即生效组权限或重新登录# 验证无需 sudodocker run hello-world✅ 查看版本docker --version docker info2.3 Docker 常用命令语法详解① 镜像管理# 拉取镜像docker pull nginx:latest# 查看本地镜像docker images# 删除镜像需无容器使用docker rmi nginx:latest# 构建镜像从 Dockerfiledocker build -t myapp:1.0.# 打标签docker tag myapp:1.0 myregistry.com/myapp:1.0# 推送镜像docker push myregistry.com/myapp:1.0② 容器管理# 运行容器前台docker run -it ubuntu:22.04 /bin/bash# 后台运行 端口映射 自动重启 命名docker run -d\--name mynginx\-p8080:80\--restart unless-stopped\nginx:latest# 查看运行中容器dockerps# 查看所有容器含停止的dockerps-a# 查看容器日志docker logs mynginx# 进入运行中的容器dockerexec-it mynginx /bin/bash# 停止容器docker stop mynginx# 启动已停止容器docker start mynginx# 删除容器必须先停止dockerrmmynginx# 强制删除运行中容器dockerrm-f mynginx# 查看容器资源使用docker stats mynginx③ 数据卷与挂载# 挂载主机目录到容器docker run -d\--name mynginx\-v /home/user/html:/usr/share/nginx/html\-p8080:80\nginx:latest# 创建命名数据卷docker volume create myvol# 使用数据卷docker run -d\--name mynginx\-v myvol:/usr/share/nginx/html\nginx:latest# 查看数据卷docker volumelsdocker volume inspect myvol④ 网络管理# 查看网络docker networkls# 创建自定义网络docker network create mynet# 容器加入自定义网络docker run -d\--name mynginx\--network mynet\nginx:latest# 容器间通过容器名通信需在同一网络docker run -it --network mynet alpinepingmynginx2.4 Dockerfile 语法详解带注释✅ 示例构建自定义 Nginx 镜像包含自定义首页# Dockerfile # 基础镜像 FROM nginx:latest # 维护者信息可选 LABEL maintaineradminexample.com # 将本地文件复制到镜像中相对 Dockerfile 路径 COPY index.html /usr/share/nginx/html/ # 暴露端口文档说明实际需 -p 映射 EXPOSE 80 # 启动命令Nginx 默认已设置可省略 # CMD [nginx, -g, daemon off;]✅ 准备 index.html!-- index.html --!DOCTYPEhtmlhtmlheadtitleMy Custom Nginx/title/headbodyh1Hello from Custom Docker Nginx!/h1pDeployed on: % new Date() %/p/body/html✅ 构建并运行# 构建镜像末尾 . 表示当前目录为构建上下文docker build -t my-nginx:1.0.# 运行容器docker run -d --name myweb -p8080:80 my-nginx:1.0# 访问 http://localhost:8080 查看效果✅ Dockerfile 指令速查指令作用示例FROM指定基础镜像FROM ubuntu:22.04LABEL添加元数据LABEL version1.0COPY复制文件到镜像COPY app.py /app/ADD复制自动解压ADD app.tar.gz /app/RUN执行命令构建时RUN apt update apt install -y curlCMD容器启动默认命令CMD [python, app.py]ENTRYPOINT入口点不可被覆盖ENTRYPOINT [./start.sh]EXPOSE声明端口EXPOSE 80ENV设置环境变量ENV DEBUGtrueWORKDIR设置工作目录WORKDIR /appVOLUME声明数据卷VOLUME [/data]2.5 docker-compose.yml 语法详解用于定义和运行多容器应用。✅ 示例同时部署 Nginx MySQL# docker-compose.ymlversion:3.8# Compose 文件版本services:# 定义第一个服务Web 服务器web:image:nginx:latestcontainer_name:my_nginxports:-8080:80# 主机端口:容器端口volumes:-./html:/usr/share/nginx/html# 挂载自定义页面depends_on:-db# 依赖 db 服务启动顺序restart:unless-stopped# 定义第二个服务数据库db:image:mysql:8.0container_name:my_mysqlenvironment:MYSQL_ROOT_PASSWORD:my-secret-pwMYSQL_DATABASE:myappMYSQL_USER:appuserMYSQL_PASSWORD:app-passports:-3306:3306volumes:-mysql_data:/var/lib/mysql# 使用命名卷restart:unless-stopped# 定义命名卷全局volumes:mysql_data:✅ 准备自定义页面mkdirhtmlechoh1Welcome to My Docker Site!/h1html/index.html✅ 启动服务# 启动所有服务后台docker-compose up -d# 查看服务状态docker-composeps# 查看日志docker-compose logs web docker-compose logs db# 停止服务docker-compose down# 重建镜像并启动docker-compose up -d --build✅ docker-compose.yml 关键语法字段说明versionCompose 文件格式版本services定义多个容器服务image使用的镜像build指定 Dockerfile 路径替代 imageports端口映射主机:容器volumes数据卷挂载主机路径:容器路径或命名卷:容器路径environment设置环境变量depends_on启动依赖顺序restart重启策略no, always, unless-stoppedvolumes根定义命名卷三、Podman 技术详解PodmanRed Hat 开发Docker CLI 兼容无守护进程支持 rootless更安全。✅ 安装 PodmanCentOS Stream 9 默认已安装# 查看是否已安装podman --version# 若未安装sudodnfinstall-y podman# 验证podman run hello-world✅ Podman 与 Docker 命令对比DockerPodman说明docker runpodman run完全兼容docker pspodman psdocker buildpodman builddocker-composepodman-compose需单独安装✅ 安装 podman-composesudodnfinstall-y python3-pip pip3installpodman-compose✅ 使用示例与 Docker 几乎一致# 拉取镜像podman pull nginx:latest# 运行容器podman run -d --name mypodnginx -p8081:80 nginx:latest# 查看容器podmanps# 查看镜像podman images# 无守护进程直接管理容器进程更轻量安全✅ Rootless 模式推荐# 普通用户直接运行无需 sudopodman run -d --name rootless-nginx -p8082:80 nginx:latest# 查看用户级容器podmanps-a# 用户级镜像存储在 ~/.local/share/containers/✅ 与 Docker 互操作# 导出 Docker 镜像为 tardocker save nginx:latestnginx.tar# Podman 加载podman load -i nginx.tar# 导出 Podman 镜像podman save nginx:latest -o nginx-podman.tar✅ Podman 优势无 daemon更安全资源占用少支持 rootless普通用户可运行容器与 systemd 集成好podman generate systemd兼容 Docker CLI 和镜像格式四、综合案例1Nginx 容器部署4.1 案例概述使用 Docker 部署 Nginx Web 服务器支持自定义页面、端口映射、数据卷挂载、自动重启。适用场景快速搭建静态网站、反向代理、负载均衡测试环境。4.2 案例详解✅ 方法一直接运行官方镜像快速测试# 后台运行映射端口设置重启策略docker run -d\--name webserver\-p8080:80\--restart unless-stopped\nginx:latest# 验证访问curlhttp://localhost:8080# 应返回默认 Nginx 欢迎页✅ 方法二自定义页面 数据卷挂载生产推荐# 创建本地目录存放自定义页面mkdir-p ~/myweb/htmlechoh1My Docker Nginx Site/h1~/myweb/html/index.html# 运行容器并挂载目录docker run -d\--name myweb\-p8080:80\-v ~/myweb/html:/usr/share/nginx/html:ro\# ro只读安全--restart unless-stopped\nginx:latest# 验证自定义页面curlhttp://localhost:8080# 输出My Docker Nginx Site✅ 方法三使用 Dockerfile 构建自定义镜像# Dockerfile.custom FROM nginx:alpine # 更小体积 # 删除默认欢迎页 RUN rm -f /usr/share/nginx/html/* # 复制自定义页面 COPY ./html/ /usr/share/nginx/html/ # 暴露端口 EXPOSE 80 # 使用默认启动命令✅ 构建并运行# 目录结构# .# ├── Dockerfile.custom# └── html/# └── index.htmldocker build -t my-nginx-custom:1.0 -f Dockerfile.custom.docker run -d --name custom-web -p8080:80 my-nginx-custom:1.0✅ 方法四使用 docker-compose 编排推荐用于多服务# docker-compose-nginx.ymlversion:3.8services:nginx:image:nginx:latestcontainer_name:prod_nginxports:-80:80volumes:-./html:/usr/share/nginx/html:ro-./nginx.conf:/etc/nginx/nginx.conf:ro# 可选自定义配置restart:alwaysnetworks:-webnetnetworks:webnet:driver:bridge✅ 启动docker-compose -f docker-compose-nginx.yml up -d五、综合案例2MySQL 容器部署5.1 案例概述使用 Docker 部署 MySQL 8.0 数据库设置 root 密码、创建数据库和用户持久化数据卷支持远程连接。适用场景开发测试数据库、微服务后端存储。5.2 案例详解✅ 基础运行不推荐生产docker run -d\--name mysql_db\-p3306:3306\-eMYSQL_ROOT_PASSWORDsecret123\mysql:8.0# 进入容器测试dockerexec-it mysql_db mysql -uroot -p# 输入密码 secret123✅ 生产级部署推荐# 创建数据卷持久化docker volume create mysql_data# 创建配置目录mkdir-p ~/mysql/confmkdir-p ~/mysql/init# 创建初始化 SQL 脚本可选cat~/mysql/init/init.sqlEOF CREATE DATABASE IF NOT EXISTS myapp; CREATE USER appuser% IDENTIFIED BY AppPass123!; GRANT ALL PRIVILEGES ON myapp.* TO appuser%; FLUSH PRIVILEGES; EOF# 运行 MySQL 容器docker run -d\--name mysql_prod\-p3306:3306\-eMYSQL_ROOT_PASSWORDRootPass456!\-eMYSQL_DATABASEmyapp\-eMYSQL_USERappuser\-eMYSQL_PASSWORDAppPass123!\-v mysql_data:/var/lib/mysql\-v ~/mysql/conf:/etc/mysql/conf.d\-v ~/mysql/init:/docker-entrypoint-initdb.d\--restart unless-stopped\mysql:8.0\--character-set-serverutf8mb4\--collation-serverutf8mb4_unicode_ci# 验证数据库dockerexec-it mysql_prod mysql -uappuser -pAppPass123!-eSHOW DATABASES;✅ 关键参数说明-e MYSQL_ROOT_PASSWORD设置 root 密码必需-e MYSQL_DATABASE自动创建数据库-e MYSQL_USER / MYSQL_PASSWORD创建用户并授权-v ~/mysql/init:/docker-entrypoint-initdb.d容器首次启动时执行 SQL 脚本--character-set-serverutf8mb4设置默认字符集✅ 自定义 MySQL 配置my.cnf# ~/mysql/conf/custom.cnf [mysqld] max_connections200 innodb_buffer_pool_size256M log-error/var/log/mysql/error.log slow_query_log1 slow_query_log_file/var/log/mysql/slow.log long_query_time2✅ 使用 docker-compose 部署 MySQL推荐# docker-compose-mysql.ymlversion:3.8services:mysql:image:mysql:8.0container_name:mysql_serverports:-3306:3306environment:MYSQL_ROOT_PASSWORD:RootPass456!MYSQL_DATABASE:myappMYSQL_USER:appuserMYSQL_PASSWORD:AppPass123!volumes:-mysql_data:/var/lib/mysql-./mysql/conf:/etc/mysql/conf.d-./mysql/init:/docker-entrypoint-initdb.dcommand:---character-set-serverutf8mb4---collation-serverutf8mb4_unicode_cirestart:unless-stoppedvolumes:mysql_data:✅ 启动mkdir-p mysql/conf mysql/init# 放入 custom.cnf 和 init.sqldocker-compose -f docker-compose-mysql.yml up -d六、综合性案例LNMP 环境一键部署Linux Nginx MySQL PHP 容器化一键部署✅ 目录结构lnmp-project/ ├── docker-compose.yml ├── nginx/ │ ├── Dockerfile │ └── default.conf ├── php/ │ └── Dockerfile └── html/ └── index.php6.1 编写 Dockerfile✅nginx/DockerfileFROM nginx:alpine COPY default.conf /etc/nginx/conf.d/default.conf EXPOSE 80✅nginx/default.confserver { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass php:9000; # 转发到 php 服务 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }✅php/DockerfileFROM php:8.2-fpm-alpine RUN docker-php-ext-install mysqli pdo pdo_mysql WORKDIR /var/www/html✅html/index.php?phpechoh1Welcome to LNMP Docker!/h1;phpinfo();?6.2 编写 docker-compose.yml# docker-compose.ymlversion:3.8services:nginx:build:./nginxports:-80:80volumes:-./html:/var/www/html:rodepends_on:-phprestart:unless-stoppedphp:build:./phpvolumes:-./html:/var/www/htmlrestart:unless-stoppedmysql:image:mysql:8.0environment:MYSQL_ROOT_PASSWORD:secretMYSQL_DATABASE:testdbvolumes:-mysql_data:/var/lib/mysqlrestart:unless-stoppedvolumes:mysql_data:6.3 一键部署cdlnmp-project docker-compose up -d --build# 访问 http://localhost# 应显示 PHP 信息页面✅ 验证 PHP 连接 MySQL修改 index.php?php$hostmysql;$dbtestdb;$userroot;$passsecret;$charsetutf8mb4;$dsnmysql:host$host;dbname$db;charset$charset;$options[PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODEPDO::FETCH_ASSOC,PDO::ATTR_EMULATE_PREPARESfalse,];try{$pdonewPDO($dsn,$user,$pass,$options);echoh1 LNMP 部署成功/h1;echop✅ 数据库连接成功/p;}catch(\PDOException$e){thrownew\PDOException($e-getMessage(),(int)$e-getCode());}?✅ Docker/Podman 最佳实践使用 .dockerignore避免上传无用文件加速构建多阶段构建减小镜像体积非 root 用户运行提升安全性健康检查HEALTHCHECK指令资源限制--memory,--cpus日志驱动--log-driverjson-file --log-opt max-size10m定期清理docker system prune -a使用 Podman生产环境推荐更安全轻量 附录常用命令速查表功能Docker 命令Podman 命令拉取镜像docker pull nginxpodman pull nginx列出镜像docker imagespodman images运行容器docker run -d --name web -p 80:80 nginxpodman run -d --name web -p 80:80 nginx列出容器docker pspodman ps查看日志docker logs webpodman logs web进入容器docker exec -it web /bin/bashpodman exec -it web /bin/bash构建镜像docker build -t myapp .podman build -t myapp .启动编排docker-compose up -dpodman-compose up -d清理系统docker system prune -apodman system prune -a 综合项目扩展建议部署 WordPressNginx PHP MySQL phpMyAdmin搭建私有镜像仓库registry:2 Nginx HTTPS 代理CI/CD 集成Jenkins Docker 自动构建部署监控容器cAdvisor Prometheus Grafana容器安全扫描Trivy / Clair 扫描镜像漏洞迁移到 Podman将现有 Docker 项目无缝迁移至 Podman这份文档覆盖了 CentOS Stream 9 上容器技术的全部核心知识点 语法细节 配置说明 实用案例 综合项目所有命令和代码均含详细注释可直接用于教学、自学或生产环境参考。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设3a模型是什么自助建设手机网站

腾讯云国际站的 DDoS 防护服务可围绕防护能力、防护策略、计费模式及安全运维等多维度提供定制化服务,适配不同行业、规模客户的境外业务防护需求,具体如下:防护能力定制,匹配境外业务规模防护规格个性化搭配:针对不同…

张小明 2025/12/28 20:05:30 网站建设

品牌网站建设技术酒店的网络营销是什么

第一章:Open-AutoGLM在社交消息回复中的核心价值Open-AutoGLM 作为一款面向开放域自动推理的生成语言模型,其在社交场景下的消息回复能力展现出显著优势。该模型不仅能理解上下文语义,还能基于用户语气、社交关系和历史互动模式生成自然且个性…

张小明 2025/12/29 3:22:46 网站建设

免费程序网站网站建设公司 壹起航

Qwen2.5本地部署实测:Ollama与vLLM全方位对比指南 引言:为什么选择本地部署Qwen2.5? 最近,通义千问团队发布的Qwen2.5系列模型引起了广泛关注。最令人瞩目的Qwen2.5-72B在多个基准测试中表现优异,甚至在某些任务上超越…

张小明 2025/12/28 13:17:55 网站建设

统计局门户网站建设背景彩票网站建设教程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个视频下载SaaS网站原型,功能包括:1. 用户注册/登录 2. 积分充值系统 3. URL输入框下载次数限制 4. 简易后台管理 5. 下载记录统计。使用FlaskSQLite实…

张小明 2025/12/29 2:53:20 网站建设

深圳自助建站网站做夏促的网站有哪些

扫码器如何成为焊装线的“质量侦探”?一个真实案例讲透工业追溯在汽车工厂里,每天有成百上千台车身骨架沿着焊装主线缓缓前行。机械臂挥舞间火花四溅,数百个焊点在一分钟内精准完成。但你有没有想过:如果半年后某辆车出现异响&…

张小明 2025/12/28 23:35:36 网站建设

张家港市建设局网站百度的链接

使用Miniconda高效管理Python环境 在现代数据科学与人工智能开发中,你是否曾遇到这样的窘境:刚为一个项目配置好的 TensorFlow 环境,却因为另一个项目需要旧版 NumPy 而瞬间“罢工”?或者,在复现一篇论文时&#xff0c…

张小明 2025/12/29 4:34:56 网站建设