实际上,我按照手册https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app#console来部署 Web 应用程序教程。我在我的本地目录中制作了 docker 文件和图像。我将图像上传到谷歌云平台容器注册表。图像被推送到注册表是成功的。然后我制作了 kubernetes 集群并尝试部署它。但是容器出现错误“CrashLoopBackOff”。
我几次删除了集群和 pod,但没有任何改变。容器启动时出现错误消息。
按照文档,错误是“pods 重复启动并崩溃”,解决方案是仔细观察日志......
我搜索了其他用户案例:例如 ImagePullPolicy : always / restartPolicy : always but error notsolved... enter image description here
ps:根据 pods log..errorcode 为 0
pps:现在我尝试更改容器的 yaml 文件。imagePullPolicy ifnotPresent
到Always
. _ 但
Pod "nginx-1-99dcd4d9f-84szv" is invalid:
spec: Forbidden: pod updates may not change fields other than
`spec.containers[*].image`,
`spec.initContainers[*].image`,
`spec.activeDeadlineSeconds` or
`spec.tolerations` (only additions to existing tolerations)
core.PodSpec{
Volumes: []core.Volume{
{Name: "default-token-stk86", VolumeSource: core.VolumeSource{Secret: &core.SecretVolumeSource{SecretName: "default-token-stk86", DefaultMode: &420
}
}
}
}, InitContainers: nil, Containers: []core.Container{
{
TerminationMessagePath: "/dev/termination-log",
TerminationMessagePolicy: "File",
- ImagePullPolicy: "Always",
+ ImagePullPolicy: "IfNotPresent",
SecurityContext: nil,
Stdin: false,
},
}, EphemeralContainers: nil, RestartPolicy: "Always",
}
出现此错误消息。
这是我的 Dockerfile。为测试“phptest.php”安装设置和网页为了允许 phptest.php,我更改了默认文件和 init.sh
FROM ubuntu
RUN apt-get update && apt-get upgrade -y && \
apt-get -y install \
nginx \
vim \
php-fpm
COPY srcs/default /
COPY srcs/phptest.php /
COPY srcs/init.sh /
EXPOSE 80
CMD bash init.sh
init.sh 在这里
rm /etc/nginx/sites-available/default
mv default /etc/nginx/sites-available/
mv phptest.php /var/www/html
chown -R www-data /var/www/*
chmod -R 755 /var/www/*
service nginx start
service php7.4-fpm start
bash
我上传了新任务,因为帖子问题不符合 stackoverflow 的指南