如何利用 Docker 运行 WordPress
🚀先决条件
你需要安装🐳 Docker。Docker的安装方式很大程度上取决于你的操作系统。
🤔选择我们的形象
可以在此处找到 WordPress Docker 镜像。
我们将使用它作为我们的基础图像并对其进行扩展。
🚀使用 docker-compose 构建我们的镜像
首先,我们创建一个新文件夹。在本教程中,
我将在 中创建一个d:/dev/
名为 的文件夹wordpress
。
在那里,我们创建一个名为 的文件。docker-compose.yml
复制并粘贴以下内容到该文件中:
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
🤔这个docker-compose.yml
文件在做什么?
它将创建两个服务。第一个wordpress
服务是我们的 Docker 镜像,其中预装了 PHP 和 WordPress。WordPress 需要 PHP 才能运行。我们告诉 Docker 它应该在 8080 端口上运行,并environment
告诉 WordPress 它应该使用什么数据库凭据。
我们的第二个服务是一个mysql
服务器,我们称之为db
。WordPress 需要一个数据库来存储数据。在 中,我们指定了数据库凭据。这必须与服务environment
中的凭据相同,因为 WordPress 需要这些凭据来登录并创建正确的数据才能运行 WordPress。最后一个是附加的,它将创建一个随机的 root 用户密码。wordpress
environment
environment
现在我们只需要在我们的wordpress
文件夹中运行 docker-compose up。
docker-compose up
Docker 将下载镜像并尝试启动它们。这可能需要几分钟。请耐心等待。
现在您只需浏览http://localhost:8080
即可看到 WordPress 提示设置新实例。
🚀挂载docker文件夹
我们目前的设置存在一个问题。当你想安装 WordPress 插件时,WordPress 会要求你输入 FTP 用户名。我们真的不希望出现这种情况。
另一个问题是如何编辑 WordPress 配置、主题或插件?
我们需要挂载才能更改wp-config.php
文件。
那么如何访问它呢?
一种方法是直接通过 ssh 进入容器,但这不是我们这里要做的事情。我们将把 WordPress 文件夹挂载到主机系统中。
首先,我们需要在文件夹html
中创建一个文件夹wordpress
。其次,我们需要更新docker-compse.yml
文件。
现在看起来应该是这样的:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- "D:/dev/wordpress/html:/var/www/html"
我们刚刚在 WordPress 服务中添加了两行代码。
第一行是volumes
。卷是一种简便的方法,可以像处理系统上的本地文件一样处理 Docker 镜像中的文件。
- "D:/dev/wordpress/html:/var/www/html"
这一行内容如下:/var/www/html
docker 容器中的文件夹中包含的内容。获取它并使其在 中可见且可编辑D:/dev/wordpress/html
。
对我来说D:/dev/wordpress/html
,这招很管用。你可以把它放在任何你想放的地方。
ctrl+c
现在只需按下终端即可停止 docker-compose 进程,
然后再次运行它。
docker-compose up
现在,您d:/dev/wordpress/html
应该可以看到 WordPress 文件。只需打开wp-config.php
并在define( 'DB_NAME', 'exampledb');
/* Make WordPress install plugins directly */
define('FS_METHOD', 'direct');
另外,通过这种方法,现在可以轻松编辑 WordPress 主题和插件。它们位于 wp-content 文件夹中。是不是很棒?
🚀安装一些 WordPress 插件所需的 PHP 扩展
一些 WordPress 插件需要 PHP 扩展。基础wordpress
镜像已经安装了一些,但你可能需要更多。为此,我们需要创建自己的 docker 镜像。在这里我们将安装memcached
PHP 扩展。
Dockerfile
在文件夹中创建一个名为的新文件wordpress
。添加以下内容并保存:
FROM wordpress
RUN apt-get update
RUN apt-get install -y libz-dev libmemcached-dev && \
pecl install memcached && \
docker-php-ext-enable memcached
在这行中,我们告诉 Docker 以我们之前使用的FROM
镜像为基础构建我们的镜像。 第一个命令表示我们要更新正在使用的 Linux 发行版的软件包。在此之前,每个扩展都应该相同。 第二个命令特定于。它安装所需的 Linux 软件包,然后启用 PHP 扩展。如果您需要其他扩展,只需在 Google 上简单搜索该扩展即可。可能有人已经用 Docker 安装了这个扩展,并且已经弄清楚了需要哪些 Linux 软件包。wordpress
RUN
RUN
memcached
好的,我们只需要使用以下命令构建新包:
docker build -t wordpress_with_extra_extension .
耶!你刚刚构建了一个新的 docker 镜像!很酷吧?
现在我们只需要告诉我们的docker-compose.yml
文件使用该镜像
:
...
wordpress:
image: wordpress
...
到
...
wordpress:
image: wordpress_with_extra_extension
...
就这样!现在只需停下脚步,奔跑docker-compose up
,就可以出发了!
感谢阅读!
打招呼! Instagram | Twitter | LinkedIn | Medium
鏂囩珷鏉ユ簮锛�https://dev.to/lampewebdev/how-to-get-wordpress-running-with-docker-4mg6