CPB*_*CPB 46 docker kubernetes
我有一个Dockerfile创建的以下图像:
存储标签图像ID创建大小
ruby/lab最新的f1903b1508cb 2小时前729.6 MB
我有以下YML文件:
REPOSITORY TAG IMAGE ID CREATED SIZE
ruby/lab latest f1903b1508cb 2 hours ago 729.6 MB
Run Code Online (Sandbox Code Playgroud)
当我创建部署时,我在pod中获得了以下信息:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ruby-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: ruby
spec:
containers:
- name: ruby-app
image: ruby/lab
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4567
Run Code Online (Sandbox Code Playgroud)
和:
ruby-deployment-3830038651-sa4ii 0/1 ImagePullBackOff 0 7m
ruby-deployment-3830038651-u1tvc 0/1 ImagePullBackOff 0 7m
Run Code Online (Sandbox Code Playgroud)
是否真的有必要在docker中使用注册表?我只是想在本地进行测试并将我的代码/ repo传递给朋友进行测试
谢谢
小智 68
您可以通过运行将docker客户端指向VM的docker守护程序
eval $(minikube docker-env)
Run Code Online (Sandbox Code Playgroud)
然后,您可以正常构建图像并使用kubectl创建kubernetes资源.确保你有
imagePullPolicy: IfNotPresent
Run Code Online (Sandbox Code Playgroud)
在您的YAML或JSON规范中.
此外,还有一个标志可以将不安全的注册表传递给minikube VM.但是,必须在第一次创建机器时指定.
minikube start --insecure-registry
Run Code Online (Sandbox Code Playgroud)
您可能还想在使用私人注册表时阅读此内容 http://kubernetes.io/docs/user-guide/images/
Rad*_*nka 22
AFAIR minikube在VM中运行,因此它不会在主机上看到您在本地构建的图像,但是......如https://github.com/kubernetes/minikube/blob/master/docs/reusing_the_docker_daemon中所述. md你可以eval $(minikube docker-env)
用来实际使用在minikube上运行的docker守护进程,从而在minikubes docker上构建你的图像,因此期望它可用于minikubes k8s引擎而无需从外部注册表中提取
要使用图像而不上传它,您可以按照以下步骤操作: 由于您正在设置环境变量,因此您必须在同一个 shell 中!
归档时间: |
|
查看次数: |
40713 次 |
最近记录: |