From 5bbf984a3af0ae487904238bc36f5a84587cd852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=B3=E5=85=89=E5=B0=91=E5=B9=B4?= <849317537@qq.com> Date: Wed, 11 Sep 2024 09:55:03 +0000 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=89=8D=E5=A4=84=E7=90=86volume?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index bce5e19..1fd9270 100644 --- a/src/main.rs +++ b/src/main.rs @@ -234,7 +234,7 @@ fn get_env_vec(env: &String) -> Result> { Ok(env_vec) } -fn init_container_env(env_vec: Vec) -> Result<()>{ +fn init_container_env(env_vec: &Vec) -> Result<()>{ for item_env in env_vec.iter() { let item_env_v = item_env.split("=").collect::>(); if item_env_v.len() == 2 { @@ -432,6 +432,9 @@ fn run_container(container_info: &ContainerInfo, is_exec_cmd: Option<&String>) - let rocker_uid = rocker_user_info.uid; let rocker_gid = rocker_user_info.gid; + let env_vec = get_env_vec(&container_info.env)?; + let volume_path = extend_image(&container_info.image)?; + let _cb = if let Some(exec_cmd) = is_exec_cmd { let _cb = || { init_exec_ns(container_info.procs[0]).unwrap(); @@ -441,7 +444,7 @@ fn run_container(container_info: &ContainerInfo, is_exec_cmd: Option<&String>) - init_container_user(rocker_uid, rocker_gid).unwrap(); } - init_container_env(env_vec).unwrap(); + init_container_env(&env_vec).unwrap(); create_pause(container_root_pause_path).unwrap(); while container_merged_pause_path.exists() { std::thread::sleep(std::time::Duration::from_millis(10)); @@ -460,9 +463,6 @@ fn run_container(container_info: &ContainerInfo, is_exec_cmd: Option<&String>) - let _cb = || { sethostname(USER_NAME).unwrap(); clear_env(); - let env_vec = get_env_vec(&container_info.env).unwrap(); - - let volume_path = extend_image(&container_info.image).unwrap(); init_container_overlay(&volume_path, &container_upper_path, &container_merged_path).unwrap(); // 用户自定义的文件映射 @@ -482,7 +482,7 @@ fn run_container(container_info: &ContainerInfo, is_exec_cmd: Option<&String>) - init_container_proc().unwrap(); // 设置自定义env - init_container_env(env_vec).unwrap(); + init_container_env(&env_vec).unwrap(); // // init_container_pts().unwrap();