解决镜像存在则跳过下载

This commit is contained in:
anlicheng 2026-06-08 20:46:43 +08:00
parent 7ca5fdd18c
commit bbc05fc7f3

View File

@ -122,11 +122,17 @@ ensure_container_absent(TaskId, ContainerName) when is_integer(TaskId), is_binar
ensure_image_ready(TaskId, Image0) when is_integer(TaskId), is_binary(Image0) -> ensure_image_ready(TaskId, Image0) when is_integer(TaskId), is_binary(Image0) ->
Image = normalize_image(Image0), Image = normalize_image(Image0),
report_task_event(TaskId, <<"info">>, <<"使用镜像:"/utf8, Image/binary>>), report_task_event(TaskId, <<"info">>, <<"使用镜像:"/utf8, Image/binary>>),
case docker_commands:check_image_exist(Image) of
true ->
report_task_event(TaskId, <<"info">>, <<"本地镜像已存在,跳过拉取:"/utf8, Image/binary>>),
{ok, Image};
false ->
report_task_event(TaskId, <<"info">>, <<"开始拉取镜像:"/utf8, Image/binary>>), report_task_event(TaskId, <<"info">>, <<"开始拉取镜像:"/utf8, Image/binary>>),
case docker_commands:pull_image(Image) of case docker_commands:pull_image(Image) of
{ok, Ref, Pid, MRef} -> {ok, Ref, Pid, MRef} ->
await_pull_image(TaskId, Ref, Pid, MRef), await_pull_image(TaskId, Ref, Pid, MRef),
{ok, Image} {ok, Image}
end
end. end.
-spec await_pull_image(TaskId :: integer(), Ref :: reference(), Pid :: pid(), MRef :: reference()) -> ok. -spec await_pull_image(TaskId :: integer(), Ref :: reference(), Pid :: pid(), MRef :: reference()) -> ok.