qtCreator和docker最佳实践

qtCreator and docker best practises

本文关键字:最佳 docker qtCreator      更新时间:2023-10-16

在诸如qtCreator之类的IDE中使用docker的最佳实践是什么?

  1. 是否应该在容器中安装qtCreator?

  2. 您是否应该在主机上进行编码,并且只通过共享装载的卷在容器内构建?在这种情况下,您是否必须从容器中手动启动运行/调试,而不是通过qtCreator中的ctrl+r或F5运行/调试(无法再使用快捷键ctrl+r或F5将是一种痛苦)

好问题。我目前正在寻找答案。根据我的经验,建议将工具文件夹装入容器中。不要忘记使用用户设置装载文件夹。

我以前试过把QtCreator放在容器里:最糟糕的选择。容器的大小会增加,一旦删除容器,您也会错过所有用户设置。我还尝试在每个编译命令中运行一个容器。这是个不错的选择。也可以在每次运行命令时运行容器,并将调试器附加到容器,就像对远程主机一样。

问题是:你的项目依赖关系在哪里?在本地主机上,使用源代码?还是在集装箱里?如果它们在容器中,则会错过IDE的所有建议和自动完成,因为它在容器中看不到依赖性代码。

VS Code有一个可以在容器中完全开发的体系结构,只安装源代码。

我仍在做一些实验以找到更好的解决方案。

我觉得把整个开发环境放在容器中很舒服(QtCreator也是)。每个容器都可以将自己的配置保存在不同的位置,这样即使容器被销毁,您也不会丢失设置。您可以在运行期间通过安装一些位置进行配置来管理此问题,这些位置是专门为特定容器准备的。

docker run  ... -v /home/$USER/my_container_files/config/:/home/my_container_user/.config/ some_image:latest

对于源(和依赖项,如果它们不是通过像conan或apt这样的包管理器提供的,那么在这种情况下,在容器中提供它,我强烈建议这样做)也是如此。

这样,您就不会觉得在本地环境中工作有什么不同,同时拥有集装箱化的所有优势。