Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
4996b14a
M
minikube
项目概览
Chu Peng 楚鹏
/
minikube
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minikube
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4996b14a
编写于
3月 02, 2020
作者:
P
Priya Wadhwa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
check for preloaded images before loading again
上级
481010d8
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
1 deletion
+31
-1
hack/preload-images/preload_images.go
hack/preload-images/preload_images.go
+1
-1
pkg/minikube/machine/cache_images.go
pkg/minikube/machine/cache_images.go
+30
-0
未找到文件。
hack/preload-images/preload_images.go
浏览文件 @
4996b14a
...
...
@@ -119,7 +119,7 @@ func executePreloadImages() error {
}
func
createImageTarball
()
error
{
cmd
:=
exec
.
Command
(
"docker"
,
"exec"
,
profile
,
"sudo"
,
"tar"
,
"-I"
,
"lz4"
,
"-C"
,
"/var
/lib/docker"
,
"-cvf"
,
tarballFilename
,
"./
"
)
cmd
:=
exec
.
Command
(
"docker"
,
"exec"
,
profile
,
"sudo"
,
"tar"
,
"-I"
,
"lz4"
,
"-C"
,
"/var
"
,
"-cvf"
,
tarballFilename
,
"./lib/docker
"
)
cmd
.
Stdout
=
os
.
Stdout
if
err
:=
cmd
.
Run
();
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"creating image tarball"
)
...
...
pkg/minikube/machine/cache_images.go
浏览文件 @
4996b14a
...
...
@@ -19,8 +19,10 @@ package machine
import
(
"fmt"
"os"
"os/exec"
"path"
"path/filepath"
"strings"
"sync"
"time"
...
...
@@ -62,6 +64,12 @@ func CacheImagesForBootstrapper(imageRepository string, version string, clusterB
// LoadImages loads previously cached images into the container runtime
func
LoadImages
(
cc
*
config
.
ClusterConfig
,
runner
command
.
Runner
,
images
[]
string
,
cacheDir
string
)
error
{
// Skip loading images if images already exist
if
imagesPreloaded
(
runner
,
images
)
{
glog
.
Infof
(
"Images are preloaded, skipping loading"
)
return
nil
}
glog
.
Infof
(
"LoadImages start: %s"
,
images
)
start
:=
time
.
Now
()
...
...
@@ -99,6 +107,28 @@ func LoadImages(cc *config.ClusterConfig, runner command.Runner, images []string
return
nil
}
func
imagesPreloaded
(
runner
command
.
Runner
,
images
[]
string
)
bool
{
rr
,
err
:=
runner
.
RunCmd
(
exec
.
Command
(
"docker"
,
"images"
,
"--format"
,
"{{.Repository}}:{{.Tag}}"
))
if
err
!=
nil
{
return
false
}
preloadedImages
:=
map
[
string
]
struct
{}{}
for
_
,
i
:=
range
strings
.
Split
(
rr
.
Stdout
.
String
(),
"
\n
"
)
{
preloadedImages
[
i
]
=
struct
{}{}
}
glog
.
Infof
(
"Got preloaded images: %s"
,
rr
.
Output
())
// Make sure images == imgs
for
_
,
i
:=
range
images
{
if
_
,
ok
:=
preloadedImages
[
i
];
!
ok
{
glog
.
Infof
(
"%s wasn't preloaded"
,
i
)
return
false
}
}
return
true
}
// needsTransfer returns an error if an image needs to be retransfered
func
needsTransfer
(
imgClient
*
client
.
Client
,
imgName
string
,
cr
cruntime
.
Manager
)
error
{
imgDgst
:=
""
// for instance sha256:7c92a2c6bbcb6b6beff92d0a940779769c2477b807c202954c537e2e0deb9bed
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录