【转载】使用Docker Hub官方gcc:latest镜像编译C/C++程序以及缩小镜像的方法

摘要:使用Docker Hub官方gcc:latest镜像(1.2GB)编译C/C++程序,以及缩小镜像的方法。

方法1:

在gcc容器里编译C/C++程序 将C/C++代码运行在gcc容器内的最简单方法就是将gcc编译指令写入Dockerfile中,然后使用此Dockerfile构建自定义C/C++程序镜像,最后再运行C/C++镜像。

方法2:

在gcc容器外编译C/C++程序 通过 -v mount数据卷的方法,使用gcc容器编译宿主主机上的C/C++代码。

本文测试代码请见GitHub

若在一个容器中运行了多个进程,可以使用 docker top 来查看每个进程的信息。

root@gerryyang:~# docker top 974
UID PID PPID C STIME TTY TIME CMD
root 22879 3128 0 00:18 pts/3 00:00:00 ./myapp
root 22923 22879 0 00:18 pts/3 00:00:00 ./myapp
root@gerryyang:~# docker stop 974
974

注意:gcc:latest镜像非常大,在网上查了下缩小镜像大小的方法有以下几种

(1) 在build镜像时,使用 --rm 选项,Remove intermediate containers after a successful build

(2) call a bunch of install commands in one RUN

(3) remove unneeded ubuntu packages

(4) 参考和学习别人的Dockerfile写法

本文原文地址:https://blog.csdn.net/delphiwcdj/article/details/43235779

posted @   北极之光的博客  阅读(3792)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
· 用 C# 插值字符串处理器写一个 sscanf
历史上的今天:
2017-09-24 4-10-配置docker静态IP地址-配置docker私有仓库
点击右上角即可分享
微信分享提示