Dockerfile for C++ Dev Containers
本文提供一个可用于 C++开发环境的Dockerfile
, 作为开发容器(dev container
)使用. 是一个进阶版的教程, 需要读者了解 dev container.
dev container
的基本使用教程可以参考我的博客: VS Code Dev Containers 教程: 从基础到进阶配置
本文提供了两个版本的 Dockerfile, 分别是基于 Fedora 和 Ubuntu 24.04 的镜像.
- Ubuntu 的用户基数比较大, 为了惠及更多用户, 提供了 Ubuntu 的镜像.
- Fedora 相比起 Ubuntu 来说, 软件包更新速度快. C++在不断更新语言功能, 更新的编译器版本对新特性的支持越多, 因而也提供
Fedora
版本.
已安装的包
如下是本Dockerfile
安装的包:
gcc
编译器套装clang
编译器套装gdb
调试器git
版本控制工具vcpkg
包管理器cmake
构建工具ninja
构建工具
其中vcpkg
中已经安装的包如下:
fmt
gtest
RapidJSON
读者可以根据自己的需求来安装新的包.
Ubuntu 版本 Dockerfile
基于 Ubuntu 24.04 的 Dockerfile
最新源文件:
基于 Ubuntu 22.04 的 Dockerfile
最新源文件:
Fedora 版本 Dockerfile
最新源文件:
如何使用
本Dockerfile
是配合 VS Code dev container 使用的. 这里有一个样例仓库, 可以按照如下的步骤打开使用:
- clone 仓库
使用 VS Code 打开仓库
打开命令面板(Ctrl+Shift+P)
搜索并选择
Dev Containers: Reopen in Container
dev container 会自动构建并启动, 并且会根据配置安装好插件.
可以看到左下角的
><
符号, 说明已经在 dev container 中了. 底部的状态栏里面有一些CMake
相关的配置, 说明插件已经安装好了.如您所见, 底部状态栏里面有编译, 运行和调试的按钮. 这些功能都是可以做到的.
相关教程:
- 如何在 VS Code 中使用 dev container: VS Code Dev Containers 教程: 从基础到进阶配置
- 如何在 CLion 中使用 dev container: Windows 11 CLion C++ Dev Container 开发环境配置
- 如何将 VS Code 打造为 C++ IDE: VS Code C++ 开发环境配置
安装系统包
可以打开终端, 用对应的包管理器安装, 不过这些包会在编辑器关闭后丢弃. 常用的包建议写入Dockerfile
中.
Ubuntu 系统中安装新的包
Fedora 系统中安装新的包
使用vcpkg
安装包
可以打开终端, 使用vcpkg
安装包, 这些包会在编辑器关闭后丢弃. 常用的包建议写入Dockerfile
中.
更多关于vcpkg
的使用可以参考: Vcpkg 使用全攻略: 支持 VS Code, Visual Studio 和 CLion
在cmake
中使用vcpkg
构建项目
更多关于 CMake 的集成使用可以参考: CMake 入门教程: 从基础到实践
我在 gitee 上有一个简单的 C++项目, 使用了vcpkg
管理依赖, 可以参考: CMake Project Sample
进一步阅读
- VS Code Dev Containers 教程: 从基础到进阶配置
- Windows 11 CLion C++ Dev Container 开发环境配置
- VS Code C++ 开发环境配置
- Vcpkg 使用全攻略: 支持 VS Code, Visual Studio 和 CLion
- CMake 入门教程: 从基础到实践
- Vcpkg Quick Start
Tags: