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

本文介绍使用DockerHub官方gcc:latest镜像编译C/C++程序的两种方法,并探讨如何减小镜像体积。一种是在gcc容器内直接编译,另一种是通过数据卷在容器外编译。此外,文章还分享了四种缩小镜像大小的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:使用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.youkuaiyun.com/delphiwcdj/article/details/43235779

转载于:https://www.cnblogs.com/hailun1987/p/9697283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值