fix helper

This commit is contained in:
anlicheng 2025-09-29 15:20:25 +08:00
parent 5c8ec6479b
commit bdd124376b
4 changed files with 11 additions and 11 deletions

View File

@ -35,7 +35,7 @@ check_image_exist(Image) when is_binary(Image) ->
create_container(ContainerName, ContainerDir, Config) when is_binary(ContainerName), is_list(ContainerDir), is_map(Config) -> create_container(ContainerName, ContainerDir, Config) when is_binary(ContainerName), is_list(ContainerDir), is_map(Config) ->
Url = lists:flatten(io_lib:format("/containers/create?name=~s", [binary_to_list(ContainerName)])), Url = lists:flatten(io_lib:format("/containers/create?name=~s", [binary_to_list(ContainerName)])),
%% %%
ConfigFile = list_to_binary(docker_container_helper:get_config_file(ContainerDir)), ConfigFile = list_to_binary(docker_helper:get_config_file(ContainerDir)),
%% %%
Volumes0 = maps:get(<<"volumes">>, Config, []), Volumes0 = maps:get(<<"volumes">>, Config, []),

View File

@ -80,7 +80,7 @@ deploy(TaskId, ContainerDir, Config) when is_integer(TaskId), is_list(ContainerD
case docker_commands:create_container(ContainerName, ContainerDir, Config) of case docker_commands:create_container(ContainerName, ContainerDir, Config) of
{ok, ContainerId} -> {ok, ContainerId} ->
%% %%
ConfigFile = docker_container_helper:get_config_file(ContainerDir), ConfigFile = docker_helper:get_config_file(ContainerDir),
case file:open(ConfigFile, [write, exclusive]) of case file:open(ConfigFile, [write, exclusive]) of
{ok, FD} -> {ok, FD} ->
ok = file:write(FD, <<>>), ok = file:write(FD, <<>>),

View File

@ -6,14 +6,14 @@
%%% @end %%% @end
%%% Created : 17. 9 2025 14:50 %%% Created : 17. 9 2025 14:50
%%%------------------------------------------------------------------- %%%-------------------------------------------------------------------
-module(docker_container_helper). -module(docker_helper).
-author("anlicheng"). -author("anlicheng").
%% API %% API
-export([ensure_dir/2, get_dir/2, get_config_file/1]). -export([ensure_container_dir/2, get_container_dir/2, get_config_file/1]).
-spec ensure_dir(RootDir :: string(), ContainerName :: binary()) -> {ok, ServerRootDir :: string()}. -spec ensure_container_dir(RootDir :: string(), ContainerName :: binary()) -> {ok, ServerRootDir :: string()}.
ensure_dir(RootDir, ContainerName) when is_list(RootDir), is_binary(ContainerName) -> ensure_container_dir(RootDir, ContainerName) when is_list(RootDir), is_binary(ContainerName) ->
%% %%
ContainerRootDir = RootDir ++ "/" ++ binary_to_list(ContainerName) ++ "/", ContainerRootDir = RootDir ++ "/" ++ binary_to_list(ContainerName) ++ "/",
ok = filelib:ensure_dir(ContainerRootDir), ok = filelib:ensure_dir(ContainerRootDir),
@ -24,8 +24,8 @@ get_config_file(ContainerDir) when is_list(ContainerDir) ->
%% %%
ContainerDir ++ "service.conf". ContainerDir ++ "service.conf".
-spec get_dir(RootDir :: string(), ContainerName :: binary()) -> {ok, ServerRootDir :: string()} | error. -spec get_container_dir(RootDir :: string(), ContainerName :: binary()) -> {ok, ServerRootDir :: string()} | error.
get_dir(RootDir, ContainerName) when is_list(RootDir), is_binary(ContainerName) -> get_container_dir(RootDir, ContainerName) when is_list(RootDir), is_binary(ContainerName) ->
%% %%
ContainerRootDir = RootDir ++ "/" ++ binary_to_list(ContainerName) ++ "/", ContainerRootDir = RootDir ++ "/" ++ binary_to_list(ContainerName) ++ "/",
case filelib:is_dir(ContainerRootDir) of case filelib:is_dir(ContainerRootDir) of

View File

@ -93,17 +93,17 @@ init([]) ->
{stop, Reason :: term(), NewState :: #state{}}). {stop, Reason :: term(), NewState :: #state{}}).
handle_call({deploy, TaskId, Config = #{<<"container_name">> := ContainerName}}, _From, State = #state{root_dir = RootDir, task_map = TaskMap}) -> handle_call({deploy, TaskId, Config = #{<<"container_name">> := ContainerName}}, _From, State = #state{root_dir = RootDir, task_map = TaskMap}) ->
%% %%
{ok, ContainerDir} = docker_container_helper:ensure_dir(RootDir, ContainerName), {ok, ContainerDir} = docker_helper:ensure_container_dir(RootDir, ContainerName),
{ok, {TaskPid, _Ref}} = docker_deployer:start_monitor(TaskId, ContainerDir, Config), {ok, {TaskPid, _Ref}} = docker_deployer:start_monitor(TaskId, ContainerDir, Config),
lager:debug("[docker_manager] start deploy task_id: ~p, config: ~p", [TaskId, Config]), lager:debug("[docker_manager] start deploy task_id: ~p, config: ~p", [TaskId, Config]),
{reply, ok, State#state{task_map = maps:put(TaskPid, TaskId, TaskMap)}}; {reply, ok, State#state{task_map = maps:put(TaskPid, TaskId, TaskMap)}};
%% %%
handle_call({config_container, ContainerName, Config}, _From, State = #state{root_dir = RootDir}) -> handle_call({config_container, ContainerName, Config}, _From, State = #state{root_dir = RootDir}) ->
case docker_container_helper:get_dir(RootDir, ContainerName) of case docker_helper:get_container_dir(RootDir, ContainerName) of
{ok, ContainerDir} -> {ok, ContainerDir} ->
%% %%
ConfigFile = docker_container_helper:get_config_file(ContainerDir), ConfigFile = docker_helper:get_config_file(ContainerDir),
case file:write_file(ConfigFile, Config, [write, binary]) of case file:write_file(ConfigFile, Config, [write, binary]) of
ok -> ok ->
lager:warning("[docker_manager] write config file: ~p success", [ConfigFile]), lager:warning("[docker_manager] write config file: ~p success", [ConfigFile]),