简介

有一个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. 在 Node.js 中使用 ES6 模块 import 和 export

    1.Node版本 >= 13 2.使用 ES6 模块 a.js export const A = 'A'; index.js import { A } from './a.js'; consol ...

  2. 浅析Redis

    浅析Redis 什么是Redis Redis本质上是一个Key-Value类型的内存数据库,整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据flush到硬盘上进行保存. 因为是纯内存操作 ...

  3. IHostedService(BackgroundService)的启动和停止顺序

    一句话总结: 按照Add顺序启动, 先启动, 后停止. Host 源代码 public async Task StartAsync(CancellationToken cancellationToke ...

  4. Required request parameter ‘xxx‘ for method parameter type xxxx is not present 解决方式

    我在controller层传实体参数时加了@RequestParam,结果报Required request parameter 'pointlist' for method parameter ty ...

  5. 等保测评FAQ

    之前写过一篇关于等保测评的相关介绍<一起聊聊等保测评>,发现大家对于等保测评这个还是很关注的,有些人问等保测评这份工工作的,也有些人问关于等保测评一些指导意见的,这篇文章我想把大家的问题来 ...

  6. Python面相对象的编程

    文章目录 1.基本概念 2.常用方法及代码实现 1.基本概念 Python的面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用"对象&q ...

  7. 不敢相信,Nginx 还能这么玩?

    大家好,我是程序员鱼皮.今天来聊聊 Nginx 技术,这是一个企业项目必用,但是却经常被程序员忽略的技术.学好 Nginx,可以助你在求职中脱颖而出. 或许你会想:"Nginx 不就是用来部 ...

  8. 面试真题:OOM(OutOfMemoryError)SOF(StackOverflow)你遇到过哪些情况

    前言 本来想着给自己放松一下,刷刷博客,慕然回首,OOM?SOF?似乎有点模糊了,那就大概看一下Java面试题吧.好记性不如烂键盘 *** 12万字的java面试题整理 *** OOM你遇到过哪些情况 ...

  9. 使用PYNQ生成PWM波控制舵机/步进电机/机械臂

    使用PYNQ生成PWM波控制舵机/步进电机/机械臂 在开始这个工程之前,你需要PYNQ-Z2的板卡文件,约束文件,原理图作为参考,你可以在我上传的资源里下载. 当然,这个工程也适用于PYNQ-Z1,只 ...

  10. 基于Java+SpringBoot心理测评心理测试系统功能实现二

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...