k8s tp框架打包docker镜像

default.conf

//default.conf
server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

}

Dockerfile

# Dockerfile
# 使用官方 Nginx 作为基础镜像
FROM nginx:alpine3.17

# 配置阿里云镜像源,加快构建速度。
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories

# 安装 PHP 和 PHP-FPM
RUN apk add --no-cache php81 php81-fpm php81-mbstring php81-mysqli php81-pdo php81-pdo_mysql php81-opcache php81-phar php81-xml php81-json php81-curl php81-ctype

# 配置 Nginx
COPY default.conf /etc/nginx/conf.d/default.conf

# 复制 ThinkPHP 应用程序代码到容器中
COPY . /var/www/html

# 设置工作目录
WORKDIR /var/www/html

# 暴露端口 80
EXPOSE 80

# 启动 PHP-FPM 和 Nginx
CMD ["sh", "-c", "php-fpm81 -F & nginx -g 'daemon off;'"]

从 **TP-Link 镜像源**(或其他国内镜像源)拉取 Kubernetes 组件镜像需要明确镜像仓库的地址和路径格式。由于 TP-Link 官方未直接提供公开的 Kubernetes 镜像仓库,通常需使用 **阿里云、中科大、腾讯云等国内镜像源**。以下是通用解决方案和替代方案: --- ### **1. 确认 TP-Link 是否有公开镜像仓库** - **现状**:TP-Link 主要提供网络设备固件和 SDK 镜像,**未公开维护 Kubernetes 官方镜像**。 - **建议**:改用以下国内镜像源(稳定且兼容 Kubernetes 官方标签): - **阿里云**:`registry.aliyuncs.com/google_containers` - **中科大**:`mirrors.ustc.edu.cn/k8s` - **腾讯云**:`mirror.ccs.tencentyun.com/kubernetes` --- ### **2. 使用国内镜像源的通用方法** #### **方案 1:Minikube 启动时指定镜像源** ```bash minikube start \ --driver=docker \ --kubernetes-version=v1.28.0 \ --image-repository=registry.aliyuncs.com/google_containers ``` - **参数说明**: - `--image-repository`:替换为中科大或腾讯云的地址(见下文)。 - `--kubernetes-version`:必须与镜像仓库中的标签匹配(如 `v1.28.0`)。 #### **方案 2:手动拉取镜像并重命名** 如果镜像源路径不兼容,可手动拉取后修改标签: ```bash # 1. 拉取阿里云镜像(以 kube-apiserver 为例) docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.0 # 2. 修改标签为 Minikube 预期的格式 docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.0 \ k8s.gcr.io/kube-apiserver:v1.28.0 # 3. 重复操作其他组件(列表见下文) ``` --- ### **3. 国内常用 Kubernetes 镜像源地址** | 镜像源 | 仓库地址 | 备注 | |-----------------|---------------------------------------------|--------------------------| | 阿里云 | `registry.aliyuncs.com/google_containers` | 推荐,路径稳定 | | 中科大 | `mirrors.ustc.edu.cn/k8s` | 学术镜像,速度快 | | 腾讯云 | `mirror.ccs.tencentyun.com/kubernetes` | 企业级镜像,需确认标签 | | 华为云 | `swr.cn-south-1.myhuaweicloud.com/kubernetes` | 需注册华为云账号 | --- ### **4. 完整镜像列表(以 v1.28.0 为例)** Minikube 启动时需要以下核心镜像,需确保它们在目标镜像源中存在: ``` k8s.gcr.io/kube-apiserver:v1.28.0 k8s.gcr.io/kube-controller-manager:v1.28.0 k8s.gcr.io/kube-scheduler:v1.28.0 k8s.gcr.io/kube-proxy:v1.28.0 k8s.gcr.io/pause:3.9 k8s.gcr.io/etcd:3.5.9-0 k8s.gcr.io/coredns/coredns:v1.10.1 ``` **验证方法**: ```bash # 示例:检查阿里云是否有 kube-apiserver:v1.28.0 curl -s "https://cr.console.aliyun.com/repository/cn-hangzhou/google_containers/kube-apiserver/tags" | grep "v1.28.0" ``` --- ### **5. 替代方案:使用 `kubeadm` 配置镜像源** 如果通过 `kubeadm` 安装 Kubernetes,可在配置文件中指定镜像源: ```yaml # /etc/kubernetes/kubeadm-config.yaml apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration imageRepository: registry.aliyuncs.com/google_containers kubernetesVersion: v1.28.0 ``` 然后执行: ```bash kubeadm init --config /etc/kubernetes/kubeadm-config.yaml ``` --- ### **6. 常见问题解决** #### **问题 1:镜像拉取失败** - **原因**:镜像标签错误或仓库路径不存在。 - **解决**: - 显式指定版本(如 `--kubernetes-version=v1.28.0`)。 - 改用中科大镜像源(路径更稳定): ```bash minikube start --image-repository=mirrors.ustc.edu.cn/k8s ``` #### **问题 2:权限不足** - **现象**:`Got permission denied while trying to connect to the Docker daemon socket`。 - **解决**: ```bash sudo usermod -aG docker $USER # 将当前用户加入 docker 组 newgrp docker # 刷新组权限 ``` #### **问题 3:版本不兼容** - **现象**:`The image 'xxx:yyy' was not found`。 - **解决**: - 查询镜像源中可用的版本: ```bash # 阿里云示例 curl -s "https://cr.console.aliyun.com/repository/cn-hangzhou/google_containers/etcd/tags" | grep "3.5." ``` - 指定存在的版本: ```bash minikube start --kubernetes-version=v1.27.0 ``` --- ### **7. 总结命令** ```bash # 使用阿里云镜像源启动 Minikube minikube start \ --driver=docker \ --kubernetes-version=v1.28.0 \ --image-repository=registry.aliyuncs.com/google_containers # 或使用中科大镜像源 minikube start \ --driver=docker \ --kubernetes-version=v1.28.0 \ --image-repository=mirrors.ustc.edu.cn/k8s ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值