podlet
podlet copied to clipboard
Container command arguments treated as arguments to `podman run`
Podlet parses all arguments as podman arguments, instead to parse it like podman container arguments.
Here is the example.
Command to run container with extra container arguments.
podman run --replace --net=host \
--cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=CAP_MKNOD --security-opt="label=disable" \
-v /var/app/list.txt:/list.txt:z \
--device=/dev/net/tun --device=/dev/null \
--name cdpi -d localhost/my-cdpi:latest -d 1 -s 1 -H /list.txt
Note the extra container arguments -d 1 -s 1 -H /list.txt
.
Command to generate podlet from running containers
podlet generate container cdpi
Got error:
Error: 0: error creating Quadlet file(s) from an existing object 1: error parsing Podman container command from
["podman", "run", "--replace", "--net=host", "--cap-add=NET_ADMIN", "--cap-add=SYS_ADMIN", "--cap-add=CAP_MKNOD", "--security-opt=label=disable", "-v", "/var/app/list.txt:/list.txt:z", "--device=/dev/net/tun", "--device=/dev/null", "--name", "cdpi", "-d", "localhost/my-cdpi:latest", "-d", "1", "-s", "1", "-H", "/list.txt"]
2: error: the argument '--detach' cannot be used multiple times2: Usage: podlet [OPTIONS] <IMAGE> [COMMAND]...
For more information, try '--help'.
2:
Location: src/cli/generate.rs:152
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⋮ 1 frame hidden ⋮ 2: <E as eyre::context::ext::StdError>::ext_report::h8eff283722d67991 at
: 3: podlet::cli::generate::ContainerParser::from_container::hd917c4d329b2876c at : 4: podlet::cli::generate::Generate::try_into_quadlet_files::hdb29da458a256c5d at : 5: podlet::cli::Cli::try_into_files::h272c29d01695c5cd at : 6: podlet::cli::Cli::print_or_write_files::h7a108ecbab21c253 at : 7: podlet::main::hcdc3a3cc51275317 at : 8: std::sys_common::backtrace::__rust_begin_short_backtrace::hbb3b36e6fe2a6b73 at : 9: std::rt::lang_start::{{closure}}::hdcdbeec9943261a6 at : 10: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h52f5991f9ab8b369 at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/ops/function.rs:284 11: std::panicking::try::do_call::h0ac4bee9a397a1bf at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552 12: std::panicking::try::hc005decaf198d0ed at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516 13: std::panic::catch_unwind::hb0f967d870b2a382 at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146 14: std::rt::lang_start_internal::{{closure}}::hd140b84b0efe534b at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148 15: std::panicking::try::do_call::h1ddfaf1d0d576c38 at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552 16: std::panicking::try::hdd4bdf855547659f at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516 17: std::panic::catch_unwind::h276ba91c7706110c at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146 18: std::rt::lang_start_internal::h103c42a9c4e95084 at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148 19: main at : 20: __libc_start_call_main at : 21: __libc_start_main_impl at : 22: _start at :