.. _tutorial_docker_env_zh: 在机载电脑部署docker容器 ========================= **注æ„:本教程仅适用于Model A+ 或更高款型的自驾仪** 我们æä¾›è‡ªå®šä¹‰çš„ docker 镜åƒï¼Œä»¥ä¿ƒè¿›ä½¿ç”¨ Pursuit autopilot 进行软件开å‘。docker 方法的好处包括两个折å :它å‡è½»äº†ä¸ºäº§å“å‘布设置ç¹ç环境的需è¦ï¼Œå¹¶ä¸”软件稳定性也å¯ä»¥ ä¿è¯ï¼Œå› 为 Docker 容器与主机ä¸çš„æ“ä½œç³»ç»Ÿéš”ç¦»ã€‚ 我们仅维护 amd64 å’Œ arm64 架构的 Docker æ˜ åƒï¼Œç›®å‰å®ƒä»¬éšæˆ‘ä»¬çš„äº§å“一起交付给我们的客户。我们将当软件组件达到æˆç†ŸçŠ¶æ€æ—¶å¯¹å¤–å‘布。 关于docker -------------- Docker 是一个开æºå®¹å™¨åŒ–å¹³å°ï¼Œå…许开å‘人员将其应用程åºåŠå…¶ä¾èµ–项打包到一个å¯ç§»æ¤çš„å®¹å™¨ä¸ ç„¶åŽå°†å…¶å‘å¸ƒä»¥åœ¨ä»»ä½•æ”¯æŒ Docker 的计算机上è¿è¡Œï¼Œè€Œæ— 需担心环境å˜é‡å’Œä¾èµ–项。容器是轻é‡çº§çš„ 独立于平å°çš„软件包,其ä¸åŒ…å«å¯åœ¨ä»»ä½•环境ä¸è¿è¡Œçš„应用程åºåŠå…¶ä¾èµ–项。Docker 使用容器技术 实现快速部署ã€å¯ç§»æ¤æ€§ã€æ•ˆçއ以åŠå¯æ‰©å±•çš„åº”ç”¨ç¨‹åºæ‰“包和交付。 - 官方 docker 文档:`<http://docs.docker.com/>`_ - Docker 备忘:`<https://docs.docker.com/get-started/docker_cheatsheet.pdf>`_ 设置æ¥éª¤ ---------------- å¯ä»¥ä½¿ç”¨ docker load 命令将 docker 镜åƒå¯¼å…¥åˆ°ä¸»æœºã€‚我们æä¾›äº†æ–¹ä¾¿çš„脚本供用户设置主机环境。/dev/ttyPursuit代表Pursuit自驾仪和机载电脑的USB连接端å£ã€‚ :: # make the directory for navigation modules cd ~ && mkdir src/catkin_nav # Clone release files cd ~ git clone https://gitee.com/cloudkernel-tech/pursuit_agv_release # Perform installation in the host computer cd ~/pursuit_agv_release bash Tools/install_prerequisites_host.sh # Load the docker image we provide docker load < cloudkernel_dasa_rosnav.tar.gz # First run, if nvidia runtime error happens, please refer to: # https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html # Create pursuit_agv_container container from our docker image, and make sure the Pursuit autopilot is connected to the host computer docker run -it --device /dev/ttyPursuit -v /home/$USER/src/catkinws_nav:/home/src/catkinws_nav --network host --name pursuit_agv_container dasa_rosnav:latest # exit the container exit åŽç»å¦‚è¦å¯åЍ docker 容器,以下命令å¯ä»¥åœ¨å®¹å™¨å†…å¯åЍ bash 终端。 :: # Enter the container docker start pursuit_agv_container docker exec -it pursuit_agv_container bash # Stop the container docker stop pursuit_agv_container