在centos上部署docker与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成功。

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也行。
参考资料
- 安装 Docker 和 Docker Compose
- CentOS下使用yum安装python-pip失败的完美解决方法
- Difference between Docker EE, Docker CE and Docker
在centos上部署docker与wordpress的更多相关文章
- 在centos下部署docker内网私服
Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...
- 在CentOS上部署kubernetes1.9.0集群
原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...
- Centos 上部署 tomcat7
在 Centos 上部署 tomcat7 搜索tomcat,选下面红色框框的官网 选箭头指着的版本7, 选 tar.gz 格式, 下载完压缩包,使用 ftpx 工具,放在 centos 的 /opt ...
- 简单介绍一下在CentOS上安装Docker。
简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 r ...
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- 在CentOS上使用Docker镜像安装Jenkins
1.必须先在CentOS上安装Docker,使用以下命名先在Docker Hub上搜索Jenkins镜像 docker search jenkins 2.下载Jenkins镜像,命令如下:(我下载的是 ...
- 在CentOS上通过Docker方式安装Redis
在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...
- WTM asp.net core应用程序在Ubuntu上和CentOS上部署
wtm在Ubuntu上和CentOS上部署 项目发布 在Visual Studio中右击Web项目,选择发布,如下图: Ubuntu安装.net core运行时 Ubuntu我是用的Vmware虚拟机 ...
- 【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务
项目GitHub地址 ================================================================================== 部署过程: ...
- 在Centos上安装docker,部署mysql数据库
何为docker? Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 本机环境 24小时不关机的Centos ...
随机推荐
- ARM64 SMP多核启动(下)- PSCI
4.支持psci情况 上面说了pin-table的多核启动方式,看似很繁琐,实际上并不复杂,无外乎主处理器唤醒从处理器到指定地址上去执行指令,说他简单是相对于功能来说的,因为他只是实现了从处理器的启动 ...
- 使用hexo进行github博客搭建
1.你必须建一个存储库,这个存储库要和你的github名称一致(不然就会404),如下图: 2.如果是window配置,需要安装git和node.js 3.下载hexo npm config set ...
- .NetCore 目录浏览 和 静态文件
1. 静态文件 包:microsoft.aspdotnet.staticfiles app.UseStaticFiles() 会默认找到 wwwroot文件夹 // 匹配到指定条件然后执行中间件 ...
- OOP的核心思想
1. 封装 既是信息封装,把一些信息进行封装成对象,只保留部分接口和方法与外部联系,能有效避免程序间相互依赖,实现代码模块间松藕合 : 2. 继承 子类自动继承父类的属性和方法,继承实现了代码的重用性 ...
- 18 . 介绍一下 Promise
Promise 是js内置的构造函数,也叫做期约函数 ,它有 3 种状态 ,等待状态 pending ,成功状态 fullfilled ,失败状态 reject :2 个过程, 等待状态到成功状态 会 ...
- 1.flask 源码解析:简介
目录 一.flask 源码解析:简介 1.1 flask 简介 1.2 两个依赖 1.2.1 werkzeug 1.2.2 Jinja2 1.3 如何读代码 Flask 源码分析完整教程目录:http ...
- jenkins Publish over SSH 的配置与使用
一.安装Publish over SSH 插件 二.在Configure System 配置Publish over SSH属性 Passphrase:如果私钥设置了密码就是私钥的密码,私钥没设置密码 ...
- 倒计时 3 天!10.23 相约杭州,云原生 Meetup 等你来!
云原生技术交流 Meetup 杭州站开启,快来报名吧! 活动简介 随着云原生技术的普及,整个市场已经变成了节奏非常快的软件驱动型市场,使用云原生技术栈来迭代发布应用已经成为常态,但是如何更好的应用云原 ...
- POI方式实现Excel表格数据导出
Excel表格导出 1.添加pom依赖 1 <!-- office 操作工具 --> 2 <dependency> 3 <groupId>org.apache.po ...
- 会话层技术-session
会话层技术-session session技术拿下! 一.先整理学习过程中的几个疑惑 cookie和session分别都是怎么创建的? 首先cookie是一个类,它需要java后端开发人员手动创建. ...