在centos上部署docker与wordpress

  • A+
所属分类:linux技术
摘要

有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4。迁移包括mysql,php,phpmyadmin,wordpress本文是迁移的记录。


简介

有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4。迁移包括mysql,php,phpmyadmin,wordpress本文是迁移的记录。

步骤

1. 安装docker

基本的顺序按照安装 Docker 和 Docker Compose这篇文章来进行。按照说法,安装epel之后,需要修改/etc/yum.repos.d/epel.repo这个文件,将epel的enabled属性改成enable=1,保存后方可正常安装python-pip

但是安装后还是不成功,于是换了一个思路,直接使用easy—install pip,安装pip成功。
在centos上部署docker与wordpress

2. 配置docker环境

在自己的目录中创建一个wordpress-setup目录,并新建docker-compose.yml,填入以下内容:

version: '3.7'  volumes:   wp-data: networks:   wp-back:  services:    db:     image: mysql:5.7     volumes:       - wp-data:/var/lib/mysql     environment:        MYSQL_ROOT_PASSWORD: rootPassword        MYSQL_DATABASE: wordpress        MYSQL_USER: wp-user        MYSQL_PASSWORD: wp-pass     ports:       - 8889:3306     networks:       - wp-back    phpmyadmin:     depends_on:       - db     image: phpmyadmin/phpmyadmin     environment:       PMA_HOST: db       MYSQL_USER: wp-user       MYSQL_PASSWORD: wp-pass       MYSQL_ROOT_PASSWORD: rootPassword     ports:       - 3001:80     networks:       - wp-back    wordpress:     depends_on:       - db     image: wordpress:latest     ports:       - 8888:80       - 443:443     environment:        WORDPRESS_DB_HOST: db        WORDPRESS_DB_USER: wp-user        WORDPRESS_DB_PASSWORD: wp-pass     volumes:       - ./wordpress-files:/var/www/html     container_name: wordpress-site     networks:       - wp-back 

然后直接在目录下执行docker-compose up -d即可。

发现下载速度很慢,可以修改/etc/docker/daemon.json这个文件以修改默认的源(实测阿里云的加速器很给力),如果没有这个文件,新建即可。参考这篇文章

安装完毕之后,需要配置一下防火墙。

firewall-cmd --zone=public --add-port=8000/tcp --permanent   # 开放8000端口  firewall-cmd --reload   # 配置立即生效 

访问http://localhost:8888端口就可以正常访问wordpress了。主文件夹直接被映射为当前工作目录下的wordpress-files文件夹,可以直接进行操作,修改wordpress的资源文件。

在centos上部署docker与wordpress

后记

由于一些地方有限制,之前我使用直接使用yum/dnf进行安装的方法,要一点点安装mariadb、php、PHPMySQLAdmin、wordpress等等,还会涉及到各种配置的问题,不是很熟悉linux的情况下,操作起来还是挺非费劲的。

FAQ

1. 安装docker与docker-ce和docker-ee的区别?

直接yum install docker中的docker,一般是由本发行版维护的,有可能功能上和官方版本有区别;docker-ce指的是docker的社区开源版本,不一定向每一个发行版都提供;docker-ee指的是商业版本。

2. wordpress运行之后,一直提示:Error establishing a database connection

如果数据库工作正常,那么就是防火墙的问题了,那个firewalld搞的鬼,可以查看这里有解决方案,当然你直接关了firewalld也行。

参考资料