docker镜像安装cgcc环境编译C程序
Gcc简介
GCC原名为GNU C语⾔编译器(GNU C Compiler),只能处理C语⾔。但其很快扩展,变得可处理C++,后来⼜扩展为能够⽀持更多编程语⾔,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语⾔等,所以改名GNU编译器套件(GNU Compiler Collection)
使⽤Dockerfile进⾏构建
使⽤此图像的最直接的⽅法是使⽤gcc容器作为构建和运⾏时环境。在Dockerfile中,按以下⾏编写⼀些内容将编译并运⾏项⽬:
ubuntu@ubuntu18:/home/dockertmp$ mkdir gcc_docker
ubuntu@ubuntu18:/home/dockertmp$ cd gcc_docker/
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ ls
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ vim Dockerfile
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ cat Dockerfile
FROM gcc:4.9
COPY ./usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]
写⼊⼀个Hello World程序
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ vim main.cgnu编译器
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ cat main.c
#include <stdio.h>
void main()
{
printf("Hello World\n");
}
构建并运⾏镜像
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ docker build -t gcc-image .
Sending build context to Docker daemon  3.072kB
Step 1/5: FROM gcc:4.9
--->1b3de68a7ff8
Step 2/5: COPY ./usr/src/myapp
---> d5be36846c9a
Step 3/5: WORKDIR /usr/src/myapp
-
--> Running in e094a671e524
Removing intermediate container e094a671e524
--->5f0b0566cbc4
Step 4/5: RUN gcc -o myapp main.c
---> Running in86c50d34a19f
Removing intermediate container 86c50d34a19f
--->642badab94a3
Step 5/5: CMD ["./myapp"]
---> Running in dc7bff71240d
Removing intermediate container dc7bff71240d
--->864c776e5ccf
Successfully built 864c776e5ccf
Successfully tagged gcc-image:latest
ubuntu@ubuntu18:/home/dockertmp/gcc_docker$ docker run -it --rm --name gcctest gcc-image
Hello World
同时也可以在启动原⽣gcc容器的时候编译app
$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。