本地搭建wordpress站点

本文基于Ubuntu搭建一个本地博客系统

1. ubuntu下安装wordpress和mysql容器

安装docker

$ sudo apt-get install docker.io

下载mysql和wordpress的docker镜像

$ docker  pull mysql:latest
$ docker pull mysql:latest

2. 启动mysql

2.1. 最简单的启动

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
  • some-mysql设置你要启动的容器的名字
  • my-secret-pw设置root的密码

2.2. 如果考虑使用用户自定义的配置文件

$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
  • /my/custom用于存放用户自定义的配置文件

2.3. 环境变量

当启动一个mysql的image的时候,可以通过环境变量来传递一些配置参数给容器

  • MYSQL_ROOT_PASSWORD
    这个变量是必须的,用来设定MYSQL的root用户的密码
  • MYSQL_DATABASE
    可选的,指定要创建的数据库的名字。如果提供了用户名和密码就可以获取数据库文件的超级权限
  • MYSQL_USER, MYSQL_PASSWORD
    可选的,创建一个新的用户
  • MYSQL_ALLOW_EMPTY_PASSWORD
    可选的,如果设置成yes,就允许container启动的时候不设置root用户密码
  • MYSQL_RANDOM_ROOT_PASSWORD
    可选的,设置成yes的时候会为root用户生成一个随机的初始化密码。生成的密码会打印出来。
  • MYSQL_ONETIME_PASSWORD
    第一次启动的时候设定一个初始密码,后面再访问mysql的时候强制设置密码

2.4. 安全性

通过环境变量传递敏感信息(比如说密码)的时候其实是有风险的,这个时候在之前的环境变量后面添加_FILE,这个时候就会从文件里面去load一个变量。举例来说,

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mysql:latest

2.5. 数据保存到哪里

$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

这里通过-v把host上的文件夹/my/own/datadir映射到容器内的用于存放数据库文件的位置,这样数据库文件就会直接写到host文件系统里面。

当使用一个原有的数据库文件启动mysql容器的时候,可以直接通过上述方法把目录映射到存放数据库文件的目录,然后可以省略root密码设置的环境变量

2.6. 怎样创建一个数据库的dump

$ docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql

mysql的详细配置文档
https://hub.docker.com/r/library/mysql/

3. 启动wordpress

docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress
  • some-wordpress设置你要启动的容器的名字
  • some-mysql是之前设置mysql的容器名
    这里wordpress的container把端口80映射到主机的8080端口了,通过访问http://localhost:8080就可以访问这个wordpress容器提供的服务了。

详细的配置文档如下
https://hub.docker.com/r/library/wordpress

你可能感兴趣的:(本地搭建wordpress站点)