我想创建一个bash脚本,该脚本将安装运行docker所需的所有软件,创建一个新映像,然后在容器中运行所有必需的进程。我的bash脚本如下所示:
#! /bin/sh
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containered.io
sudo groupadd docker
sudo gpasswd -a $USER docker
docker pull ros:indigo-robot
docker build -t myimage .
docker run --name myimage-cont -dit myimage
和Dockerfile:
FROM ros:indigo-robot
RUN apt-get update && apt-get install -y \
git \
ros-indigo-ardrone-autonomy
我是Docker新手,不了解最佳实践,但是我需要实现的是同时运行3个不同的进程。 -roscore -rosrun ardrone_autonomy ardrone_driver -rostopic pub ardrone /起飞std_msgs / Empty“ {}” –一次
我能够通过打开3个终端并执行docker exec myimage-cont...
命令来“手动”实现。但是,我需要的是让它在执行bash脚本后由代码自动运行。最好的方法是什么?