# Docker 安装 Wordpress

#### 一、拉镜像

镜像版本查看：<https://hub.docker.com/_/wordpress?tab=tags&page=1&ordering=last_updated>

```shell
docker pull wordpress:latest
```

#### 二、运行容器

```shell
docker run -d --name wordpress \
  -e TZ="Asia/Shanghai" \
  -e WORDPRESS_DB_HOST=127.0.0.1:3306 \
  -e WORDPRESS_DB_USER=root \
  -e WORDPRESS_DB_PASSWORD=password \
  -e WORDPRESS_DB_NAME=wordpress \
  -p 1080:80 \
  --restart=always \
  wordpress
```

运行完可以查看日志 `docker logs --tail 10 wordpress | grep info`

> \[!NOTE]
>
> **参数说明：**
>
> * WORDPRESS\_DB\_HOST：mysql的IP+端口
> * WORDPRESS\_DB\_USER：mysq用户名
> * WORDPRESS\_DB\_PASSWORD：mysql密码
> * WORDPRESS\_DB\_NAME：数据库名，默认是wordpress
> * -p 1080:80 是指宿主机的1080端口映射容器的80端口，容器内端口80不要修改
> * restart=always 随docker的启动而启动

#### 三、初始化配置

经过上述步骤 打开地址:[http://127.0.0.1:1080](http://127.0.0.1:1080/) 能看到以下页面就说明安装成功了\
![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-45ccf66a93d13fcac1eddb1bf9eac55882ef3498%2Fwordpress1.png?alt=media)

设置管理员账号和密码，点击安装WordPress

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-fc3f893f49bd5a6cf874929857086997ed8e4cf6%2Fwordpress2.png?alt=media)

安装成功后的后台管理页面，后台管理地址 <http://127.0.0.1:1080/wp-admin>

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-3a59ceb6aefa168d844bc8ce1bef2b64018a5138%2Fwordpress3.png?alt=media)

数据库表结构

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-a5dc2ea79b6a8aeaa9744e0e63bff7f9ee83c0a3%2Fwordpress4.png?alt=media)

#### 四、其他配置

4.1 绑定域名，设置->常规

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-046874498c9dd1f0cc307efe1839706c8623327b%2Fwordpress5.png?alt=media)

4.2 更换域名，替换下面的www\.old.com和www\.new\.com

```shell
UPDATE wp_options SET option_value=replace(option_value,'http://www.old.com','http://www.new.com') WHERE option_name in('home','siteurl');
UPDATE wp_posts SET post_content = replace(post_content,'http://www.old.com','http://www.new.com');
UPDATE wp_posts SET guid = replace(guid,'http://www.old.com','http://www.new.com');
```
