简介

有一个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成功。

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的资源文件。

后记

由于一些地方有限制,之前我使用直接使用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也行。

参考资料

在centos上部署docker与wordpress的更多相关文章

  1. 在centos下部署docker内网私服

    Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...

  2. 在CentOS上部署kubernetes1.9.0集群

    原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...

  3. Centos 上部署 tomcat7

     在 Centos 上部署 tomcat7 搜索tomcat,选下面红色框框的官网 选箭头指着的版本7, 选 tar.gz 格式, 下载完压缩包,使用 ftpx 工具,放在 centos 的 /opt ...

  4. 简单介绍一下在CentOS上安装Docker。

    简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 r ...

  5. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  6. 在CentOS上使用Docker镜像安装Jenkins

    1.必须先在CentOS上安装Docker,使用以下命名先在Docker Hub上搜索Jenkins镜像 docker search jenkins 2.下载Jenkins镜像,命令如下:(我下载的是 ...

  7. 在CentOS上通过Docker方式安装Redis

    在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...

  8. WTM asp.net core应用程序在Ubuntu上和CentOS上部署

    wtm在Ubuntu上和CentOS上部署 项目发布 在Visual Studio中右击Web项目,选择发布,如下图: Ubuntu安装.net core运行时 Ubuntu我是用的Vmware虚拟机 ...

  9. 【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务

    项目GitHub地址 ================================================================================== 部署过程: ...

  10. 在Centos上安装docker,部署mysql数据库

    何为docker? Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 本机环境 24小时不关机的Centos ...

随机推荐

  1. 把数字转换RMB形式

    方法1 : var str = '12345679' let strNew = str.replace(/\B(?=(?:\d{3})+\b)/g, ',') // 匹配单词边界替换为逗号 方法2: ...

  2. mysql外联数据库

  3. Kubernetes 边缘节点抓不到监控指标?试试这个方法!

    KubeSphere v3.1.0 通过集成 KubeEdge,将节点和资源的管理延伸到了边缘,也是 KubeSphere 正式支持边缘计算的第一个版本. 笔者也第一时间搭建和试用了边缘节点相关的功能 ...

  4. KubeSphere 后端源码深度解析

    这篇文章我们将学习在 vscode 上的 ssh remote 插件基础上,尝试 debug 和学习 KubeSphere 后端模块架构. 前提 安装好 vscode 以及 ssh remote co ...

  5. 云原生周刊 | 在 Grafana 中显示 K8s Service 之间的依赖关系

    开源项目推荐 Caretta 这个项目可以在 Grafana 监控面板中显示 K8s Service 之间的依赖关系.底层使用的是 eBPF,对应用无侵入. busuanzi 这是一个基于 Golan ...

  6. 在vue中引入外部的css文件

    在vue中引入外部的css文件在项目的src文件下,新建一个style文件夹,存放css文件. 1. 全局引入将外部的css文件放到style文件下,引入外部文件只需在main.js文件中 impor ...

  7. 题解:NOIP2023 天天爱打卡

    NOIP2023 天天爱打卡 - luogu 算法一 upd :2024/10/31. 记 \(f[i]\) 表示第 \(i\) 天休息, \(1\sim i\) 天能获得的最大能量. 考虑如何从 \ ...

  8. 【转载】《扩散模型是实时游戏引擎(Diffusion Models Are Real-Time Game Engines)》的论文,向我们展示了世界上第一个完全由神经模型驱动的游戏引擎,GameNGen。这也是历史上首次,AI能在不借助其他游戏引擎的情况下,为玩家生成实时游戏了,并且在单个TPU上速度可以达到每秒20帧

    地址: https://www.youtube.com/watch?v=VniPJII6ak0 8月29号,谷歌DeepMind发布了一篇名为<扩散模型是实时游戏引擎(Diffusion Mod ...

  9. 3.17 Linux移动或重命名文件和目录(mv命令)

    mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名.该命令的基本格式如下: [root@localhost ~]# mv [选项] 源文件 目标文件 选 ...

  10. oracle查询是否锁表以及解锁语句

    --锁表语句 SELECT b.owner, b.object_name, a.session_id, a.locked_mode FROM v$locked_object a, dba_object ...