Docker部署wordpress和Jenkins
准备机器:
192.168.58.151 (关闭防火墙和selinux)
安装好docker服务 (详细参照:http://t.csdnimg.cn/usG0s 中的国内源安装docker)
部署wordpress:
创建目录:
[root@docker ~]# mkdir wordpress
[root@docker ~]# ls
anaconda-ks.cfg wordpress ip_fixed.sh
获取wordpress的安装包: cn.wordpress.org


服务器端下载:
[root@docker ~]# cd wordpress/
[root@docker wordpress]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
修改nginx.conf文件,并将其放在wordpress目录下
[root@docker wordpress]# cat nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 4096;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.server {listen 80;server_name www.itnzs.top;location / {root /usr/share/nginx/wordpress;index index.php;}location ~ \.php$ {root /usr/share/nginx/wordpress; #指定网站目录fastcgi_pass 127.0.0.1:9000; #指定访问地址fastcgi_index index.php; #指定默认文件fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #站点根目录,取决于root配置项include fastcgi_params; #包含nginx常量定义}}# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }}
在wordpress目录下创建Dockerfile
[root@docker wordpress]# vim Dockerfile
# 设置基础镜像
FROM daocloud.io/library/centos:7# 安装环境
RUN yum install -y epel-release \
; yum install -y nginx \
; yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm \
; yum install -y php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm \
; yum clean all# 将代码包拷贝到镜像中
# RUN wget https://cn.wordpress.org/latest-zh_CN.tar.gz
ADD latest-zh_CN.tar.gz /usr/share/nginx# 将配置文件拷贝到镜像中
COPY nginx.conf /etc/nginx/# 将启动脚本拷贝到镜像中
COPY docker-entrypoint.sh /# 在启动容器时执行脚本
CMD ["sh","/docker-entrypoint.sh"]
创建docker-entrypoint.sh文件并编辑,其目的是执行启动服务并hang住。
[root@docker wordpress]# vim docker-entrypoint.sh
chmod 777 /usr/share/nginx/wordpress -R
nginx
/opt/remi/php80/root/usr/sbin/php-fpm
echo "nginx 和 php 启动成功"
tail -f /var/log/nginx/*
查看文件及镜像
[root@docker wordpress]# ls
docker-entrypoint.sh Dockerfile latest-zh_CN.tar.gz nginx.conf[root@docker wordpress]# docker pull daocloud.io/library/centos:7
[root@docker wordpress]# docker pull mysql:5.7
[root@docker wordpress]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/library/centos 7 7e6257c9f8d8 3 years ago 203MB
mysql 5.7 c20987f18b13 23 months ago 448MB
开始build 并 run
[root@docker wordpress]# docker build -t wordpress:1.0 .
[+] Building 0.1s (10/10) FINISHED => [internal] load build definition from Dockerfile 0.0s
····=> => naming to docker.io/library/wordpress:1.0 [root@docker wordpress]# docker run -it -p 80:80 wordpress:1.0
nginx 和 php 启动成功
==> /var/log/nginx/access.log <====> /var/log/nginx/error.log <==
浏览器访问 :192.168.58.151


服务器端另开端口启动MySQL镜像,并设置密码与数据库名
[root@docker wordpress]# docker run -itd -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7
c7ec40a5eb7fa8e9f03707f629a58fc1769a0b6d9b69d97be06e440d46023464
查看服务并获取数据库的ip地址(172.17.0.3)
[root@docker wordpress]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7ec40a5eb7f mysql:5.7 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 3306/tcp, 33060/tcp clever_napier
8f19b43d21b2 wordpress:1.0 "sh /docker-entrypoi…" 13 minutes ago Up 13 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp elastic_hertz[root@docker wordpress]# docker inspect c
·····"NetworkID": "32010babc4ca892ce8aa2d7c58188897ed69613f94147b81e5ad0cfdfae06672","EndpointID": "741536bb8a5e9ec8fafe13aa1e8d876f404a7d7a40943eccecf6e57ea67210a3","Gateway": "172.17.0.1","IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:03","DriverOpts": null}}}}
]
[root@docker wordpress]#
浏览器端进行填写


后续按需填写即可。
部署jenkins:
获取jenkins.war包请到官网下载:Jenkins download and deployment
创建目录并上传jdk
[root@docker ~]# mkdir jenkins
[root@docker ~]# cd jenkins/
[root@docker jenkins]# ls
jenkins.war jdk-17_linux-x64_bin.tar.gz plugins-2.414.3.tar.gz
[root@docker jenkins]#
新建Dockerfile并编辑
[root@docker jenkins]# vim Dockerfile FROM daocloud.io/library/centos:7ADD jdk-17_linux-x64_bin.tar.gz /usr/localADD jenkins-2.414.3.war /usr/localENV JENKINS_HOME=/usr/local/.jenkinsENV JAVA_HOME /usr/local/jdk-17.0.7ENV PATH=$JAVA_HOME/bin:$PATHADD plugins-2.414.3.tar.gz /usr/local/.jenkins/ #plugins包代替可以减少后期的安装时间RUN yum -y install fontconfigENTRYPOINT ["java","-jar","/usr/local/jenkins-2.414.3.war"]
构建镜像并创建容器
[root@docker jenkins]# docker build -t jenkins:1.0 .
[+] Building 0.1s (10/10) FINISHED => [internal] load .dockerignore ······=> => naming to docker.io/library/jenkins:1.0 [root@docker jenkins]# docker run -it -p 8080:8080 jenkins:1.0
Running from: /usr/local/jenkins-2.414.3.war
webroot: /usr/local/.jenkins/war
·····
*************************************************************Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:d728551b74fe4634a3d22fa8c4ffa36f #此行为密码,后面登录需要····
*************************************************************
另起端口看看8080端口是否启动
[root@docker ~]# ss -nplt | grep 8080
LISTEN 0 128 *:8080 *:* users:(("docker-proxy",pid=25919,fd=4))
LISTEN 0 128 [::]:8080 [::]:* users:(("docker-proxy",pid=25925,fd=4))
成功启动,浏览器访问 ip:8080 (192.168.58.151:8080)



创建管理员用户


点击重启;
登录


jenkins部署完成。
相关文章:
Docker部署wordpress和Jenkins
准备机器: 192.168.58.151 (关闭防火墙和selinux) 安装好docker服务 (详细参照:http://t.csdnimg.cn/usG0s 中的国内源安装docker) 部署wordpress: 创建目录: [rootdocker ~]# mkdi…...
C语言—每日选择题—Day45
第一题 1. 以下选项中,对基本类型相同的指针变量不能进行运算的运算符是() A: B:- C: D: 答案及解析 A A:错误,指针不可以相加,因为指针相加可能发生越界&…...
音乐制作软件Studio One mac软件特点
Studio One mac是一款专业的音乐制作软件,由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件…...
华为OD机试 - 会议室占用时间(Java JS Python C)
题目描述 现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间,格式为: [[会议1开始时间, 会议1结束时间], [会议2开始时间, 会议2结束时间]] 请计算会议室占用时间段。 输入描述 第一行输入一个整数 n,表示会议数量 之后输入n行,每行两个…...
Excel COUNT类函数使用
目录 一. COUNT二. COUNTA三. COUNTBLANK四. COUNTIF五. COUNTIFS 一. COUNT ⏹用于计算指定范围内包含数字的单元格数量。 基本语法 COUNT(value1, [value2], ...)✅统计A2到A7所有数字单元格的数量 ✅统计A2到A7,B2到B7的所有数字单元格的数量 二. COUNTA ⏹计…...
刷题学习记录(文件上传)
[GXYCTF 2019]BabyUpload 知识点:文件上传.htaccessMIME绕过 题目直接给题目标签提示文件上传的类型 思路:先上传.htaccess文件,在上传木马文件,最后蚁剑连接 上传.htaccess文件 再上传一个没有<?的shell 但是要把image/pn…...
接口管理——Swagger
Swagger是一个用于设计、构建和文档化API的工具集。它包括一系列工具,如Swagger Editor(用于编辑Swagger规范)、Swagger UI(用于可视化API文档)和Swagger Codegen(用于根据API定义生成客户端库、server stu…...
基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(三)
目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1)定义模型结构2)优化损失函数 3. 模型训练及保存1)模型训练2)模型保存3)映射保存 相关其它博客工程源代码下载其它资料下载…...
(第5天)进阶 RHEL 7 安装单机 Oracle 19C NON-CDB 数据库
进阶 RHEL 7 安装单机 Oracle 19C NON-CDB 数据库(第5天) 真快,实战第 5 天了,我们来讲讲 19C 的数据库安装吧!19C 是未来几年 Oracle 数据库的大趋势,同样的作为长期稳定版,11GR2 在 2020 年 10 月份官方就宣布停止 Support 了,19C 将成为新的长期稳定版,并持续支持…...
AI自动生成代码工具
AI自动生成代码工具是一种利用人工智能技术来辅助或自动化软件开发过程中的编码任务的工具。这些工具使用机器学习和自然语言处理等技术,根据开发者的需求生成相应的源代码。以下是一些常见的AI自动生成代码工具,希望对大家有所帮助。北京木奇移动技术有…...
jmeter和postman的对比
1.创建接口用例集(没区别) Postman是Collections,Jmeter是线程组,没什么区别。 2.步骤的实现(有区别) Postman和jmeter都是创建http请求 区别1:postman请求的请求URL是一个整体,j…...
深度学习在人体动作识别领域的应用:开源工具、数据集资源及趋动云GPU算力不可或缺
人体动作识别检测是一种通过使用计算机视觉和深度学习技术,对人体姿态和动作进行实时监测和分析的技术。该技术旨在从图像或视频中提取有关人体姿态、动作和行为的信息,以便更深入地识别和理解人的活动。 人体动作识别检测的基本步骤包括: 数…...
科技提升安全,基于YOLOv6开发构建商超扶梯场景下行人安全行为姿态检测识别系统
在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题,随着AI技术的快速发展与不断普及,越来越多的商超、地铁等场景开始加装专用的安全检测预警系统,核心工作原理即使AI模型与摄像头图像视频流的实时计算…...
二叉树的最大深度
问题描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入࿱…...
nginx配置正向代理支持https
操作系统版本: Alibaba Cloud Linux 3.2104 LTS 64位 nginx版本: nginx-1.25.3 1. 下载软件 切换目录 cd /server wget http://nginx.org/download/nginx-1.25.3.tar.gz 1.1解压 tar -zxvf nginx-1.25.3.tar.gz 1.2切换到源码所在目录…...
奥比中光 Femto Bolt相机ROS配置
机械臂手眼标定详解 作者: Herman Ye Auromix 测试环境: Ubuntu20.04/22.04 、ROS1 Noetic/ROS2 Humble、X86 PC/Jetson Orin、Kinect DK/Femto Bolt 更新日期: 2023/12/12 注1: Auromix 是一个机器人爱好者开源组织。 注2&#…...
scala表达式
1.8 表达式(重点) # 语句(statement):一段可执行的代码# 表达式(expression):一段可以被求值的代码,在Scala中一切都是表达式 - 表达式一般是一个语句块,可包含一条或者多条语句,多条语句使用“…...
uniapp,点击选中并改变颜色,第二次点击取消选中状态
一、效果图 二、代码实现 字符串的indexOf和数组的indexOf用法一致! arr.indexOf(item) 该方法返回某个元素在数组中的位置。若没检索到,则返回 -1。 关键代码:(通过:class绑定) :class"selectList.indexOf(sub.type) ! -1 ? right_ite…...
mmyolo的bbox_loss和检测bbox都是空
最近用mmyolo训练自己的数据集的时候发现训练的时候loss_bbox0,测试和eval的时候结果也全是空的,排除了数据集读取的问题,最后发现是config中自定义了自己的类别但是没有传给dataset。。。 简而言之,在自定义了数据集里的metainf…...
Linux——基本指令(二)
个人主页:日刷百题 系列专栏:〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 🌎欢迎各位→点赞👍收藏⭐️留言📝 写在前面: 紧接上一章,我们在理解接下来的命令之前,…...
SpringBoot + MyBatis-Plus 项目迁移到 PostgreSQL,踩到 ‘Bad value for type long‘ 这个坑?手把手教你排查和修复
SpringBoot MyBatis-Plus 项目迁移到 PostgreSQL 的"类型陷阱":从报错到根治指南 当Java开发者将SpringBoot项目从MySQL迁移到PostgreSQL时,经常会遇到一个看似简单却令人头疼的问题:org.postgresql.util.PSQLException: Bad valu…...
告别上位机:用STM32的CAN总线直接对话Maxon EPOS4驱动器(附完整通信代码)
STM32直连Maxon EPOS4:CAN总线电机控制实战指南 在机器人关节控制、智能小车驱动等高精度运动控制场景中,Maxon EPOS4系列驱动器凭借其卓越性能成为工业级首选。但传统依赖PC上位机(如EPOS Studio)的调试方式,严重制约…...
为新项目申请API Key并设置访问权限与用量提醒
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为新项目申请API Key并设置访问权限与用量提醒 当你开始一个新的AI应用项目,首要任务之一就是获取一个安全、可控的API…...
3种创新方案解决抖音视频保存难题
3种创新方案解决抖音视频保存难题 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 你是否曾遇到过这样的困扰:在抖…...
2025届学术党必备的五大AI学术助手解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能技术飞速发展着,学术不端行为也呈现出了新的挑战,知网身为国…...
OpenClaw小龙虾设置DeepSeek模型|自检清单+常见问题解决方案
OpenClaw 连接 DeepSeek 完整图文教程 前置准备 下载小龙虾一键安装包(下载地址:www.totom.top)并安装。 已安装并可以正常打开 OpenClaw Windows。 OpenClaw 顶部 Gateway 状态保持在线。 电脑已联网,可正常访问 DeepSeek 开…...
Lenovo Legion Toolkit 维护版继续升级
Lenovo Legion Toolkit 维护版在继续更新。 项目地址:https://github.com/SSC-STUDIO/LenovoLegionToolkit 下载地址:https://github.com/SSC-STUDIO/LenovoLegionToolkit/releases/latest 这个版本面向 Windows 上的 Legion / IdeaPad Gaming / LOQ …...
Agent 一接数据大屏就开始配错指标:从维度意图识别到口径一致性校验的工程实战
一、🎯 生产痛点:大促当夜的指标错位 去年双 11 零点,某电商团队的 Agent 接到"生成实时 GMV 监控大屏"指令后产出了一套仪表盘。运营同学却发现 GMV 曲线在凌晨 1 点下跌 40%。问题在于 Agent 把"下单金额"和"退款…...
MCUXPresso for VS Code插件实战:从零构建NXP MCU的HelloWorld项目
1. 项目概述:为什么选择MCUXPresso for VS Code?如果你是一位嵌入式开发者,尤其是使用恩智浦(NXP)MCU的工程师,那么你大概率对MCUXpresso IDE不陌生。它是一个功能强大的集成开发环境,但有时我们…...
在Windows 10上用CPU跑ChatGLM-6B:我的64G内存工作站搭建实录(含Anaconda配置避坑)
在Windows 10上仅用CPU运行ChatGLM-6B:64G内存工作站的完整部署指南 当大语言模型的热潮席卷而来,许多开发者和技术爱好者都渴望在本地运行这些强大的AI工具。然而,高端显卡的高昂价格让不少人望而却步。本文将分享如何在配备64G内存的Windo…...
