Docker Compose 编排部署

Hyperf 是一个高性能、高灵活性的渐进式 PHP 协程框架,内置协程服务器及大量常用 的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极 其灵活的可扩展性。请根据要求完成数据库服务 MariaDB、缓存服务 Redis、微服务 Hyperf 及前端服务 Nginx 按照要求进行容器化。

容器化 MariaDB 服务

编写Dockerfile文件构建hyperf-mariadb:v1.0镜像,具体要求如下:(需要用到的软件包: Hyperf.tar.gz)

(1)基础镜像:centos:7.9.2009;

(2)完成 MariaDB 服务的安装;

(3)声明端口:3306;

(4)设置数据库 root 用户的密码为 root;

(5)将提供的数据库文件 hyperf_admin.sql 导入数据库;

(6)设置服务开机自启。

# 初始化数据库脚本
[root@k8s-master-node1 Hyperf]# cat init.sh 
#!/bin/bash
echo "[mysqld]\ncharacter-set-server=utf8" > /etc/my.cnf
mysql_install_db --user=root
mysqld_safe --user=root &

sleep 5

mysql -e "grant all privileges on *.* to root@localhost identified by 'root';grant all privileges on *.* to root@'%' identified by 'root';source /root/hyperf_admin.sql;"


# Dockerfile-mariadb
[root@k8s-master-node1 Hyperf]# cat Dockerfile-mariadb 
FROM centos:7.9.2009
MAINTAINER Chinaskills
RUN rm -rvf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
ADD yum /opt/yum
COPY sql/hyperf_admin.sql /root
COPY init.sh /root
RUN yum install -y mariadb-server && \
    bash /root/init.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]

容器化 Redis 服务

编写 Dockerfile 文件构建 hyperf-redis:v1.0 镜像,具体要求如下:(需要用到的软件包: Hyperf.tar.gz)

(1)基础镜像:centos:7.9.2009;

(2)安装 Redis 服务;

(3)关闭保护模式;

(4)声明端口:6379;

(5)设置服务开机自启。

[root@k8s-master-node1 Hyperf]# cat Dockerfile-redis 
FROM centos:7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY yum /opt/yum
COPY local.repo /etc/yum.repos.d/
RUN yum install -y redis
RUN sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis.conf && \
    sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf
EXPOSE 6379
CMD ["redis-server","/etc/redis.conf"]

容器化 Nginx 服务

编写 Dockerfile 文件构建 hyperf-nginx:v1.0 镜像,具体要求如下:(需要用到的软件包: Hyperf.tar.gz)

(1)基础镜像:centos:7.9.2009;

(2)安装 nginx 服务;

(3)声明端口:80;

(4)设置服务开机自启。

[root@k8s-master-node1 Hyperf]# cat Dockerfile-nginx 
FROM centos:7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY yum /opt/yum
COPY local.repo /etc/yum.repos.d/
RUN yum install -y nginx
WORKDIR /var/www/
COPY project/frontend /var/www/frontend
COPY project/docker/conf.d/hyperf-admin.conf  /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

容器化 Hyperf 服务

编写 Dockerfile 文件构建 hyperf-service:v1.0 镜像,具体要求如下:(需要用到的软件包: Hyperf.tar.gz)

(1)基础镜像:centos:7.9.2009;

(2)安装 PHP 及扩展;

(3)使用源码编译安装 Swoole。

#考察编译安装PHP

编排部署 Hyperf 框架

编写/root/hyperf/project/docker-compose.yaml 文件,具体要求如下:

(1)容器 1 名称:hyperf-mysql;镜像:hyperf-mariadb:v1.0;端口映射:3306:3306;

(2)容器 2 名称:hyperf-redis;镜像:hyperf-redis:v1.0;

(3)容器 3 名称:hyperf-ui;镜像:hyperf-nginx:v1.0;端口映射:80:8081;

(4)容器 4 名称:hyperf-service;镜像:hyperf-service:v1.0。

  • 登录 (账号/密码):(daodao/a1a1a1)

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值