Docker如何基于脚本拉取镜像,配置环境,尝试编译

企业级/脚本流 (Script-Based)

场景: 公司项目、大型团队协作。

特点: 在企业中进行开发, 你的开发环境一般都是docker, 并且前人已经把复杂的命令封装好了,你的motor会把docker文件夹发给你,你只需要运行脚本。这就像是**"吃预制菜"**,加热即食,方便统一。就可以打造出一个和别人一样的环境,编写代码,创建功能


如何使用这个docker文件?

1. 拉取与启动 (Pull & Start)
  • 动作: 运行 sudo bash start.sh。

  • 底层原理:

    • 这个脚本内部通常执行了 docker-compose up -d。

    • 它会自动去读取 docker-compose.yml 配置文件。

    • 拉取 (Pull): 如果本地没有镜像,它会根据配置文件里的 image: ... 地址,自动从阿里云等仓库下载(Pull)。

    • 启动 (Up): 下载完后,它自动把容器跑起来。

2. 配置环境 (Configure)
  • 动作: 修改 docker-compose.yml 或运行 sudo bash init.sh。

  • 核心配置点:

    • 映射 (Volumes): 这是你今天遇到的最大的坑。 你在 yml 文件里修改 - ../../:/app/,就是配置"时空传送门",让容器能读写你的 Windows 代码。

    • 网络 (Network) & 端口 (Ports): 也在 yml 里配好了,决定了容器能不能上网,能不能被外部访问。

3. 进入与编译 (Exec & Build)
  • 进入: sudo bash​​​​​​​ exec.sh (底层是 docker exec -it <容器名> bash)。

  • 编译: 进去后,在一个已经装好所有依赖 的环境里,你就可以在这个环境里面创建功能包,在外界vscode写代码,在终端内编译运行 colcon build,配置环境变量,运行节点了

相关推荐
Decay__7 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
布莱克6059 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
java_logo9 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜10 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
海洋之恒11 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·自动化·github
D e re k ZH12 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
石小石Orz13 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
迪康coolmu13 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
民乐团扒谱机14 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法