docker常用

创建一个容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG]
OPTIONS 说明
--name="容器名字" 如果不指定,则系统随机产生
-d 后台运行容器
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端
--rm 容器退出时自动清理容器内部的文件系统
docker run -dit --rm --name ros-master --network net-sim ros:noetic-ros-core-focal roscore

以上:

  • ros:noetic-ros-core-focal镜像模板创建一个容器ros-master,连接到网络net-sim
  • 在后台运行,分配一个伪输入终端,以交互模式运行命令roscore
  • 退出时自动清理容器内部的文件系统。
OPTIONS 说明
--gpus all 使用所有gpu
-e, --env=[] 指定环境变量,容器中可以使用该环境变量
-v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录
docker run -dit --rm --name sim-server --network net-sim \
    --gpus all \
    -e ROS_MASTER_URI=http://ros-master:11311 \
    -e DISPLAY=$DISPLAY \
    -e QT_X11_NO_MITSHM=1 \
    -e NO_AT_BRIDGE=1 \
    -e LIBGL_ALWAYS_SOFTWARE=1 \
    -e NVIDIA_DRIVER_CAPABILITIES=all \
    -v /tmp/.X11-unix:/tmp/.X11-eunix \
    $SERVER_IMAGE 

以上:

  • SERVER_IMAGE的值SERVER_IMAGE:-tb5zhh/icra-2023-server:latest镜像模板创建一个容器sim-server,连接到网络net-sim
  • 在后台运行,分配一个伪输入终端。
  • 设置参数:
    a. 使用所有gpu
    b. 赋值环境变量ROS_MASTER_URIDISPLAYQT_X11_NO_MITSHMNO_AT_BRIDGELIBGL_ALWAYS_SOFTWARENVIDIA_DRIVER_CAPABILITIES
    c. 给容器挂载存储卷/tmp/.X11-unix,挂载到/tmp/.X11-eunix
  • 退出时自动清理容器内部的文件系统。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容