我的故事是:
1,我创建了一个spring-boot项目,里面有一个Dockerfile。2,我用上面的docker文件在本地成功地创建了docker镜像。3,我有一个minikube为我的本地用户构建了一个K8s。4,但是,当我尝试应用k8s.yaml时,它告诉我没有这样的docker图像。显然,我在公共docker hub中搜索docker应用程序,那么我能做什么?
下面是我的dockerfile
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
expose 8080
ENTRYPOINT ["java","-jar","/app.jar"]下面是我的k8s.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pkslow-springboot-deployment
spec:
selector:
matchLabels:
app: springboot
replicas: 2
template:
metadata:
labels:
app: springboot
spec:
containers:
- name: springboot
image: cicdstudy/apptodocker:latest
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
labels:
app: springboot
name: pkslow-springboot-service
spec:
ports:
- port: 8080
name: springboot-service
protocol: TCP
targetPort: 8080
nodePort: 30080
selector:
app: springboot
type: NodePort发布于 2021-10-13 14:43:12
如果你只是想使用minikube从你的本地计算机上拉取图像,你可以使用eval $(minikube docker-env),这会导致在你的minikube集群上使用所有与docker相关的命令来使用你的本地docker守护进程。因此,pull将首先在主机本地映像中查找,而不是在hub.docker.io中查找。
欲获知更多信息,请访问here。
发布于 2021-10-12 21:53:12
在Kubernetes中,不存在集中式内置容器镜像注册表。根据您拥有的K8S集群节点中的容器运行时,它可能会搜索第一个dockerhub来拉取图像。由于Dockerhub目前不建议免费拉取,也不太允许免费拉取,建议您先创建一个账号用于开发。您将获得1个私有存储库和unlimited public repository,这意味着无论您推送到公共存储库的内容,那里的任何人都可以访问它。如果您不太关心知识产权问题,您可以继续使用该免费帐户进行开发。但在投入生产时,您需要使用服务/机器人帐户更改该帐户。
在DockerHub https://id.docker.com/login/上创建
docker登录--用户名=您的用户名--email=youremail@company.com
yourhubusername/mysuperimage:v1
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1/ --docker-username= --docker-password= --docker-email=
创建服务帐户
kubectl创建serviceaccount您的超级用户
为名为"yoursupersa"的服务帐户附加
kubectl patch serviceaccount yoursupersa -p '{"imagePullSecrets":{"name":“docker--p”}}‘
中的部署资源对象
kubectl创建部署mysuperapp --image=yourhubusername/mysuperimage:v1 --port=8080
然后,使用附加了注册表凭据的服务帐户修补您的部署。(这将导致re-deployment)
'{"spec":{"template":{"spec":{"serviceAccountName":"yoursupersa"}}}}‘补丁部署mysuperapp -p kubectl
kubectl expose deployment/mysuperapp
那么一切都很棒!:)
https://stackoverflow.com/questions/69543150
复制相似问题