关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

【云原生】Dockerfile制作WordPress镜像,实现Compose + K8s编排部署(上)

发布时间:2023-06-30 18:01:18
关于作者 大家好,我是秋意零。 CSDN作者主页 博客主页 简介 普通本科生在读 在校期间参与众多计算机相关比赛,如: “省赛”、“国赛”,斩获多项奖项荣誉证书 各个平台,秋意临 账号创作者 云社区 创建者 点赞、收藏+关注下次不迷路! 欢迎加入云社区 前言 今天给各位带来一个出色网站、博客系统 WordPress,不过不使用 Docker Hub 提供的 WordPress Docker镜像,我们使用 Dockerfile 自己制作,实现 LNMP WordPress 运行环境,并将 WordPress 部署再其基础之上 为什么不使用 Docker Hub 提供的 WordPress 镜像部署呢? 环境准备 Linux 7.5 docker v23.0.1 docker compose v2.17.0 WordPress v6.2 注意:这里的环境是博主使用环境,不限于此 新手小白教程 Centos7.5安装教程 Docker安装教程 Docker-Compose安装教程 目录结构 [root@master01 ~]# tree docker docker ├── db.sh #数据库启动、配置脚本 ├── default.conf #nginx配置文件,配置支持 php ├── docker-compose.yaml # compose 文件 ├── Dockerfile-mariadb # maraidb dockerfile文件 ├── Dockerfile-service # nginx+php+wordpress dockerfile文件 ├── wordpress-6.2-zh_CN.zip # wordpress安装包 ├── wp-config.php # wordpress配置文件,这里主要配置数据库部分 └── yum.sh #yum源配置脚本 0 directories, 8 files dockerfile制作镜像 yum 脚本 yum脚本是两个 dockerfile 文件公用的脚本,因为这里都是使用 yum 安装的服务 # 清除默认yum rm -rf /etc/yum.repos.d/* # 磊宇云 centos7 yum curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.leiyu.cn/repo/Centos-7.repo #nginx yum cat > /etc/yum.repos.d/nginx.repo << EOF [nginx] name=nginx baseurl=https://nginx.org/packages/centos/7/x86_64/ gpgcheck=0 enabled=1 EOF #mariadb yum cat > /etc/yum.repos.d/mariadb.repo < db.sh << EOF #!/bin/bash mysql_install_db --user=root mysqld_safe --user=root & sleep 3 mysqladmin -u root password '000000' mysql -uroot -p000000 -e "create database wordpress;" mysql -uroot -p000000 -e "grant all on wordpress.* to root@localhost identified by '000000';" mysql -uroot -p000000 -e "grant all on wordpress.* to root@'%' identified by '000000';" EOF Dockerfile-mariadb cat > Dockerfile-mariadb << EOF FROM centos:centos7.9.2009 MAINTAINER qyl COPY yum.sh /opt/ COPY db.sh /opt RUN sh /opt/yum.sh && yum clean all RUN yum install -y mariadb-server RUN sh /opt/db.sh EXPOSE 3306 CMD ["mysqld_safe","--user=root"] EOF 构建镜像 docker build -t wp-mariadb:v1 -f Dockerfile-mariadb . Dockerfile-service 镜像 yum.sh、default.conf 、wp-config.php 是 Dockerfile-service 构建镜像时所需要的文件 default.conf 这是配置 nginx 能代理 php 网页的配置 cat > default.conf << EOF server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php index.html index.htm; #修改部分 } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { root /usr/share/nginx/html; #修改部分 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #修改部分 include fastcgi_params; } } EOF wp-config.php 在安装 wordpress 时 wordpress 配置文件无法自动写入时,使用这种方式手动写入(主要配置数据库部分) 注意:数据库部分的配置 cat > wp-config.php << EOF
/template/Home/leiyu/PC/Static