如何将bash命令与Docker重启策略一起使用?
在ROS项目中,我使用以下bash脚本运行docker容器:如何将bash命令与Docker重启策略一起使用?,bash,docker,ros,docker-run,Bash,Docker,Ros,Docker Run,在ROS项目中,我使用以下bash脚本运行docker容器: #!/bin/bash source ~/catkin_ws/devel/setup.bash rosnode kill some_ros_node roslaunch supporting_ros_package launch_file.launch & docker run -it \ --restart=always \ --privileged \ --net=host \ my_i
#!/bin/bash
source ~/catkin_ws/devel/setup.bash
rosnode kill some_ros_node
roslaunch supporting_ros_package launch_file.launch &
docker run -it \
--restart=always \
--privileged \
--net=host \
my_image:latest \
/bin/bash -c\
"
roslaunch my_package my_launch_file.launch
"
export containerId=$(docker ps -l -q)
但是,我希望发生的是,每当容器重新启动时(特别是机器启动时),在docker run
命令之前的bash命令也会在主机上重新运行(而不是在容器内)
我如何才能做到这一点?我可以想出几种方法:
主机上需要某种任务管理器,如supervisord或systemd unit文件,用于监视容器(可能有一个非后台
docker run
作为其主要命令)。Docker生态系统基本上不直接在主机上运行命令。