用Docker轻松测试WordPress REST API

因为我在尼罗突破了天花板,所以这是我第一次发布帖子。

事件的起因

我在工作中开发了一个功能,可以将自动生成的文章在WordPress中作为草稿提交。(该系统的前提是不是从头到尾完全自动生成,而是后来还需要人工处理。)

我想要一个用于测试目的的WordPress,即使需要破坏它来进行测试也可以。但是,准备WordPress感觉很麻烦,不是吗?

在例行会议上,
我:“能不能借给我一台开发用的WordPress呢?”(懒散地)
我们公司的工程师:“可以用容器测试吗?”
我:“可以的。”(反射地)

哎呀。

目标

image-20221021101342052.png

制造货柜

Python方面

我用Dockerfile创建了这个。
(直到确认操作系统我一直以为是Ubuntu,这个秘密)

# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
(中略)
# cat /etc/debian_version 
11.5
# python --version
3.10.7

与WordPress相关的处理内容是

    1. 将图像上传到媒体库

 

    以草稿状态发布文章

只需要一个选项,翻译成中文”有两个”。

只需要提供一个选项,原句可以以汉语本地化为:WordPress平台。

建筑

根据这个指示,在这里创建目录及yaml文件,并执行docker compose up -d。

请在访问 http://localhost:8000 后,进行语言设置和账户设置,然后进行安装。

设置应用程序密码

使用WordPress REST API需要多种身份验证方法,但这次我们选择了最简单快捷的应用程序密码验证。
在框中输入的字符串是Key,而作为Value的密码由WordPress自动创建。

image-20221025095739215.png

既然无法再看到所创建的密码,因此请将其与与恋人的回忆一样珍重起来。
如果忘记了,就需要重新设置新的恋爱密码。

顺便提一下,由于设置了基本身份验证,无法进行配置。
也许这两个人无法和谐共处……难以共存……真令人悲伤……。

准备容器已经完成。
这真是太简单了。这就是为什么我无法放弃Docker。

使两个容器能够相互通信。

可以说,为了这个地方,写这篇文章一点都不夸张。

总结一下,我们将使用http://gateway.docker.internal:8000/wp-json/wp/v2/posts。
(当然,对于图像,使用/wp-json/wp/v2/media)。

为了遇到这么短的字符串,我花了两天的时间。

一开始我觉得这个人在想“应该是可以通过’http://localhost:8000/wp-json/wp/v2/posts’这个地址访问吧,哈哈哈哈哈”。不知道他在想些什么呢?

在这里所说的localhost,当然是指从主机上看到的localhost,也就是主机本身。
这不是指运行WordPress的容器。

由于我们一直在研究如何在两个容器之间进行通信,所以一直无法找到答案。但是,我们终于通过将WordPress容器视为运行在主机操作系统上的一个进程,成功找到了正确的搜索结果。

起源与结束

请执行以下指令在Docker中停止容器及其相关卷:
docker-compose down –volumes

如果你想要在下次启动时检查投稿内容等,请取消–volumes以删除数据库。

最后

理解浅薄就连查找方法都不知道呢。
因为信息在网络上无处不在的时代,所以处理这些信息的人们学习的价值更加增加了呢。

我会继续努力,不让自己成为抱着笔记本电脑的原始人。

请参阅

太感谢了,非常有帮助。谢谢!

从Docker容器内部与主机操作系统上的进程进行通信的方法

bannerAds