方法一
- 假设你已经安装好了docker并且搞定了阿里云源
- 配置数据库:
docker pull mysql //下载mysql镜像
docker volume create mysql1 //创建数据卷
docker run -d 3306:3306 --name my-mysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -v mysql1:/var/lib/mysql mysql //创建mysql容器
参数解释:
- -p: 端口映射,33306表示宿主,3306表示容器中的端口。 这里表示将宿主机的33306映射给镜像的3306.
- -e: 环境变量, 环境变量和具体的Docker容器制作时设置有关,这里表示设置镜像中MySQL的root 密码时123456
- -v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql
- –privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项
- 配置wordpress
docker run wordpress //下载镜像
docker run -d --name my-wp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 30001:80 --link my-mysql:mysql wordpress //运行镜像创建容器
参数解释:
“WORDPRESS_DB_HOST”: 链接的docker的MySQL的IP地址和端口,一般设置成mysql表示用默认的设置
“WORDPRESS_DB_USER”: 以什么用户使用MySQL,默认是root
“WORDPRESS_DB_PASSWORD” 这设置MySQL的登陆用户密码,由于上一项是默认的root,所以这一项和之前的"MYSQL_ROOT_PASSWORD“要相同。
“WORDPRESS_DB_NAME”: 数据库的表名,不需要修改,用默认的”wordpress"就行
- 之后输入ip+port即可,我的port是30001
端口自动跳转问题
- 由于wordpress连接了一个数据库,会将初始化时的页面ip+port记录下来,之后访问的时候会自动将地址跳转到此端口。所以,如果之后你想给本容器改端口,那么要进去数据库中修改数据库的记录:
# wp_options表 查询记录
select * from wp_options where option_name in ('siteurl','home');
# wp_options表 更新option_value的值
update wp_options set option_value='http:你的新地址' where option_name in ('siteurl','home');
这时,才可以进入新的端口。
参考
方法二:使用portainer创建
- 拉取portainer镜像,并且运行:
docker pull docker.io/portainer/portainer//拉取镜像
docker run -d -p 30001:9000 –restart=always -v /var/run/docker.sock:/var/run/docker.sock –name prtainer-test
docker.io/portainer/portainer//运行容器
- 访问端口30001:
注意:如果访问的是远端服务器的id+port,那么要现在服务器的docker中暴露3275,这样portainer才可以管理docker。这时候要去修改docker.service配置。详情可见 - 点击左边菜单栏中的app tempates
- search中输入wordpress,找到wordpress并且点击右边的update更新模板
- 点击add variable加入参数:link mysql:mysql(创建和WordPress连接的数据库)
- 创建即可。
忘记密码
最简单的方式自然是wordpress自带的忘记密码了。输入邮箱即可,但是,有一些人的服务器没有发邮箱的功能,所以,这时候直接进入服务器修改数据库是最合适的了:
- 服务器中进入到wordpress连接的数据库
- 输入
use wordpress
- 输入
update wp_users set user_pass=md5("你的新密码") where user_login='注册的时候的用户名';
- 好了,新账号密码就有了。
- 更多方法可以参考这个:四种修改密码的方式