最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【2021年实战】在k8s上用Docker部署WordPress 5.5

    正文概述 掘金(Skywen天问信息)   2021-02-05   644

    总结

    今年遇上公司技术转型,所有的项目都要由原来需要通过git上传到服务器更新文件转变到现在k8s配置,Docker构建部署,形成全自动化流水线。

    而我因为手头上有几个WordPress的项目,所以WordPress的Docker初次构建部署的担子就压到了纯属小白的我。之前对k8s和Docker完全就是一窍不通,更别说是要在短时间内完成项目的部署,所以在一开始的时候,花了大概两三天的时间,恶补了一下Docker的原理及操作,然后在接下来的几天之内,完成了WordPress的踩坑,最终在真实环境成功部署。

    下面是我踩坑的记录,非常适用于和我一样的小白。

    项目需求

    所有WordPress类型的网站通过k8s配置,Docker构建部署,形成全自动化流水线。之后项目只需要在本地提交代码,就可以在几分钟以后自动更新线上,方便快捷。

    装备说明

    纯属小白 + Mac10.15.5

    安装Docker

    直接下载符合本机版本的Docker软件

    Docker官网安装地址:docs.docker.com/get-docker/

    Docker添加阿里云镜像加速器

    1. 登陆阿里云容器镜像服务 cr.console.aliyun.com/cn-hangzhou…复制加速器地址

    2. 在任务栏点击 Docker Desktop 应用图标 -> Perferences,在左侧导航菜单选择 Docker Engine,在右侧输入栏添加下面的代码。

      "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    Docker常用命令

    • docker pull xxx 下载xxx镜像(当在本地主机上使用一个不存在的镜像时 Docker 会自动下载这个镜像)
    • docker ps 查看所有镜像
    • docker run -it xxx 运行xxx镜像
    • docker exec -it [containerName] /bin/sh 以交互模式执行容器脚本
    • docker image ls 或者 docker images列出本地主机上的镜像
    • docker image rm [imageName]删除镜像
    • docker container ls 查看所有正在运行的容器
    • docker container ls --all 查看所有容器(包括停止)
    • docker search xxx 命令来搜索xxx镜像
    • docker rmi -f xxx 强制删除 xxx 镜像
    • exit 退出
    • Docker Hub 网站来搜索镜像,Docker Hub 网址为: hub.docker.com/

    构建Docker容器(测试)

    新建项目

    新建测试项目docker-test

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    在项目根目录下,新建文本文件Dockerfile,写入下面的内容

    FROM node:8.4
    COPY . /app
    WORKDIR /app
    RUN npm install --registry=https://registry.npm.taobao.org
    EXPOSE 3000
    

    语句解释如下

    创建image(镜像)文件

    docker image build -t docker-test .
    

    注意:如果不指定标签信息,默认为latest

    查看新生成的image文件

    docker image ls
    

    或者

    docker images
    

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    生成container(容器)

    docker container run -p 8000:3000 -it demo-test /bin/bash
    

    语句解释如下

    现在docker-test已经运行起来了,在浏览器打开http://127.0.0.1:8000

    发布到自己的仓库

    1. 先登录一下DockerHub的账号

      docker login

    2. 新建一个镜像

      docker build -t [imagename]:1.0

    3. 设置镜像的标签

      docker tag [imageID] [username]/[imagename]:1.0

    语句解释如下

    1. 推送镜像到DockerHub

      docker push [username]/[imagename]:1.0

    本地部署WordPress

    获取WordPress镜像

    WordPress的版本看Dockerhub上的示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    获取WordPress镜像,执行

    docker pull wordpress:5.5
    

    创建mysql容器

    因为WordPress需要配置数据库,所以还要拉取mysql的镜像

    docker pull mysql
    

    创建mysql容器并运行,指定数据库密码是123456

    docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    

    创建WordPress容器

    然后创建并运行新的WordPress容器(名称为wp-demo),连接数据库(mysql),

    docker run --name wp-demo --link mysql_db:mysql -p 8080:80 -d wordpress:5.5
    

    查看wp-demo内的主题文件

    docker exec -it wp-demo /bin/sh
    

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    然后就可以在浏览器上输入 http://127.0.0.1:8080/开始安装WordPress

    新增主题

    方法一 平台直接添加新主题

    选择按钮“Add New”,上传我们自己的主题

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    如果出现文件上传失败的提示:

    说明WordPress限制了文件大小,用下面的方法查看文件限制的大小,如图所示

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    文件上传的解决办法

    方法一 安装插件

    • 安装插件 File Manager

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 修改配置文件

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 添加下面几行代码

      php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300

    示例如下

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    方法二 服务器修改文件

    直接在服务器里更改 .htaccess文件的内容

    现在就可以安心地上传我们自己的主题包了。

    方法二 复制主题文件到容器中

    • 新建文件夹wordpress-docker,把主题包放进去

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 查看运行中的WordPress5.5版本的容器,获取它的CONTAINER ID

      docker container ls

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 查看主题包的位置

      pwd

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 查看容器位置

      docker exec -it wp-demo /bin/sh pwd

    • 执行docker cp [文件名] [CONTAINER ID]:[容器名]

      docker cp /Users/skywen_cp/Documents/demo/wordpress-docker/skywen-theme f4e4ea3c21c1:/var/www/html/wp-content/themes

    • 查看Wordpress内主题是否存在

      docker exec -it wp-demo /bin/sh cd wp-contents/themes ls

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    • 先看再看网站里面的主题,有两个相同的主题了

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    线上部署WordPress

    注意:这不是演习,最好在本地测试成功了再在线上部署

    再熟悉一下下面的命令

    #构建镜像
    docker image build -t wp:1.0 .
    #docker面板开启镜像wp的一个容器,并运行
    docker exec -it [containerID] /bin/sh
    #查看主题文件下是否含有加入的主题包
    cd wp-content/themes
    

    设置代码仓库

    注意:代码仓库里多余的代码最好清掉,以防以为文件太大而构建失败

    • 新建一个代码仓库

    • 代码仓库里放入在本地构建好的Dockerfile,修改里面的参数(主要是主题包的位置)

      FROM wordpress:5.5 COPY wp-content/themes /var/www/html/wp-content/themes

    • 新建文件.dockerignore,写入下面的代码

      .git/ wp-admin/ wp-includes/

    示例

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    新建流水线

    在仓库内选择流水线,新建,选择空白模板,直接创建

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    填写任务名称,选择构建集群

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    任务步骤添加步骤,选择构建,选择镜像构建并推送阿里云镜像仓库,选择授权,区域为(华东1(杭州,其余的参数参照下图填写

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    如果找不到相应的仓库的话,就按下面的方法添加对应的仓库

    【2021年实战】在k8s上用Docker部署WordPress 5.5

    构建镜像

    代码上传以后,会自动构建镜像;点击日志,可以查看构建的过程

    到这里,所有的构建部署就全部结束了,里面有错误的望指出。

    【2021年实战】在k8s上用Docker部署WordPress 5.5


    起源地下载网 » 【2021年实战】在k8s上用Docker部署WordPress 5.5

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元