在虚拟机中用Docker容器搭建wordpress

Docker容器- 从装机起,一步一步解决问题


观前预知:本人用做记笔记用而非发布技术博客,可能存在诸多谬误||最多只能为各位做参考,欢迎讨论

环境准备

使用资源

  1. 虚拟机:VMware® Workstation 16 Pro,版本16.1.2 build-17966106
  2. 终端:MobaXterm
  3. Linux类型及版本镜像:CentOS-7-x86_64-DVD-1804.iso

相关安装链接参考

虚拟机安装链接参考
centos官网下载地址,尽量选择国内镜像,参考部分失效
Docker国内镜像清华
docker-compose/


相关概念

容器定义

(解释来源于相关文档)

  1. 用于存储物品
  2. 现在使用的是虚拟机,可以通过虚拟机部署同类型的应用;通过虚拟机隔离应用运行的环境,主流:VMware、VirtualBox
  3. 虚拟机优点:隔离环境
  4. 虚拟机缺点:需要单独安装操作系统;虚拟机磁盘占用物理机磁盘空间;启动过程浪费时间
    马上要使用的容器:不需要安装操作系统;能够像虚拟机一样可以提供应用运行的隔离环境;启动过程时间较短。

疑问:在此解释中,容器定义的作用貌似和虚拟机有相同部分,为什么还要单独设出容器这一概念?
/>参考部分链接:容器虚拟机区别, docker容器与虚拟机有什么区别?, 浅析Docker容器的应用场景

个人理解:
两者主要区别在于所针对的应用场景不同而采取了不尽相同的构建思想和构建方式。
容器像是在某个环境中做一个并不彻底的分离,并不会占用所有资源,而且所分离出的环境有一套与环境无关的标准,故能与其它容器联系作用。这使得可以通过各个容器内不同的服务模块搭建的可以完整的搭建一套架构,其本身轻量化的特点可以很方便的用作临时搭建一次性任务并与之销毁。主要可以用于应用于应用之间的联合部署。
而虚拟机更像是对某个环境的整体几乎彻底的分割,相当于将某个环境的某块区域单独进行“重置”,其“重置”的区域环境自然也需要重新部署(硬件)。相较于容器,虚拟机或许可以承担更加复杂的实验,以及有着更高的安全性,可以用作用户于用户之间的分割。但虚拟机也并非绝对安全,如“虚拟机逃逸”问题。


容器管理工具部署-Docker

下载Docker镜像(获取yum源)

如果Linux为默认最小化安装或安装未设置,则无法使用wegt命令进行远程安装,此时安装wegt命令

yum install -y wget

再从远程下载(此处下载链接为清华大学开源软件镜像站)

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

在虚拟机中用Docker容器搭建wordpress
验证查看

ls /etc/yum.repos.d/

在虚拟机中用Docker容器搭建wordpress
安装docker-ce

yum -y install docker-ce

在虚拟机中用Docker容器搭建wordpress

docker-io 是以前早期的版本,版本号是 1.*
新版本分为社区版 docker-ce 和企业版 docker-ee,版本号是 17.*

启动docker

写入Docker服务的开机自启动命令

systemctl enable docker

在虚拟机中用Docker容器搭建wordpress
启动Docker

systemctl start docker

查看Docker版本信息

docker version

在虚拟机中用Docker容器搭建wordpress


容器管理工具生态

容器及容器生态系统概述,容器知识全览
Docker 源码分析 -孙宏亮
《Docker从入门到实战 》

运行容器的条件

  1. docker daemon ——Docker的守护进程
  2. docker client      ——Docker是一个client/server的架构,通过二进制文件docker创建Docker客户端将请求类型与参数发送给Docker Server,Docker Server具体执行命令调用。
  3. 容器镜像
  4. 容器镜像仓库 链接

下载容器镜像

镜像分类
1.系统类容器镜像 CentOS
2.应用类容器镜像 Apache
      基础系统类容器镜像,包含文件系统,不包含操作系统。

下载一个系统类容器镜像

搜索DockerHub是否有centos容器镜像

docker search centos

在虚拟机中用Docker容器搭建wordpress

下载centos容器镜像

docker pull centos

在虚拟机中用Docker容器搭建wordpress
验证centos容器镜像是否下载

docker images

在虚拟机中用Docker容器搭建wordpress

运行一个容器

运行

docker run -it --name=c1 centos:latest /bin/bash

在虚拟机中用Docker容器搭建wordpress
查看
在虚拟机中用Docker容器搭建wordpress
测试运行的容器是否联网

ping -c [数字] [地址] 其中-c是ping的次数

ping -c 4 www.baidu.com

在虚拟机中用Docker容器搭建wordpress
退出

exit

使用容器部署wordpress

准备部署wordpress需要的镜像文件

拉取 wordpress 镜像

docker pull wordpress:latest

在虚拟机中用Docker容器搭建wordpress
部署mysql 5.7

docker pull mysql:5.7

在虚拟机中用Docker容器搭建wordpress
查看本地镜像

docker images

在虚拟机中用Docker容器搭建wordpress

准备docker-compose工具

准备epel YUM源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

在虚拟机中用Docker容器搭建wordpress
查看本地源

ls /etc/yum.repos.d/

在虚拟机中用Docker容器搭建wordpress
准备pip工具,用于批量管理python语言开发的工具包(和GitHub二进制的区别主要在于版本)

yum -y install python2-pip

在虚拟机中用Docker容器搭建wordpress
一次性安装下列服务以解决相关的软件依赖关系

yum -y install gcc libffi-devel python-devel openssl-devel openldap-devel

在虚拟机中用Docker容器搭建wordpress
更新pip版本

pip install --upgrade pip

在虚拟机中用Docker容器搭建wordpress
用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas安装时出错

在虚拟机中用Docker容器搭建wordpress
最后查询得以解决,疑似是各个软件包版本不符的原因

docker-compose命令不存在、未找到命令解决方式
docker-compose升级
在虚拟机中用Docker容器搭建wordpress


准备部署文件

刚刚安装完的镜像
在虚拟机中用Docker容器搭建wordpress

YAML文件介绍
YAML 也是一种标记语言, YAML帮助网址

wordpress部署文件准备

工程目录创建并切入

mkdir wordpressproject
cd wordpressproject/

在虚拟机中用Docker容器搭建wordpress
编写docker-compose.yaml文件:
在虚拟机中用Docker容器搭建wordpress
启动工程

编辑

vi /etc/sysctl.conf

如图插入:net.ipv4.ip_forward = 1

在虚拟机中用Docker容器搭建wordpress
使其立即生效

sysctl -p

在虚拟机中用Docker容器搭建wordpress
启动docker-compse:
在虚拟机中用Docker容器搭建wordpress
在浏览器中输入自己的IP加端口号8000,并向下拖动选择中文
在虚拟机中用Docker容器搭建wordpress
进入下一步更改,基本信息填完后选择 安装WordPress
在虚拟机中用Docker容器搭建wordpress
完成
在虚拟机中用Docker容器搭建wordpress
填入刚刚注册的账号密码即可完成。
在虚拟机中用Docker容器搭建wordpress
停止并删除刚刚创建的容器

docker-compose down

其它

一个动态IP的问题

我用虚拟机新建了一个contens7的系统,但是它的IP将我之前的一个虚拟机的IP(.129)顶掉了,原来虚拟机IP变为(.132),经查证可能是设置的动态IP的问题。

IP网卡配置 参考地址

上一篇:WordPress 5.7 XXE Vulnerability---翻译自seebug


下一篇:WordPress 更换域名后访问后台跳转老域名解决办法