diff --git a/gcc/README-content.md b/gcc/README-content.md index 280fc01ca..ad6c54944 100644 --- a/gcc/README-content.md +++ b/gcc/README-content.md @@ -4,3 +4,29 @@ The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Proje > [wikipedia.org/wiki/GNU_Compiler_Collection](https://en.wikipedia.org/wiki/GNU_Compiler_Collection) # How to use this image + +## Start a gcc instance running your app + +For this image, the most straight-forward use is to use a gcc container as both the build environment as well as the runtime environment. + + FROM gcc + ADD . /usr/src/myapp + WORKDIR /usr/src/myapp + RUN gcc -o myapp myapp.c + CMD ["./myapp"] + +Then run the commands to build and run the docker image. + + docker build -t my-gcc-app . + docker run -it --rm --name my-running-app my-gcc-app ./myapp + + +## Compile your app inside the docker + +It is not always appropriate to run your app inside a container. In instances where you only want to compile inside the docker instance, you can do something along the lines of the following. + + docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp gcc gcc -o myapp myapp.c + +This will add your current directory as a volume to the comtainer, set the working directory to the volume, and run the command `gcc -o myapp myapp.c` which will tell gcc to compile the code in myapp.c and output the executable to myapp. Alternatively, if you have a make file, you can instead run the make command inside your container. + + docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp make diff --git a/gcc/README.md b/gcc/README.md index 7e76d7ab2..fdde116a1 100644 --- a/gcc/README.md +++ b/gcc/README.md @@ -5,6 +5,32 @@ The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Proje # How to use this image +## Start a gcc instance running your app + +For this image, the most straight-forward use is to use a gcc container as both the build environment as well as the runtime environment. + + FROM gcc + ADD . /usr/src/myapp + WORKDIR /usr/src/myapp + RUN gcc -o myapp myapp.c + CMD ["./myapp"] + +Then run the commands to build and run the docker image. + + docker build -t my-gcc-app . + docker run -it --rm --name my-running-app my-gcc-app ./myapp + + +## Compile your app inside the docker + +It is not always appropriate to run your app inside a container. In instances where you only want to compile inside the docker instance, you can do something along the lines of the following. + + docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp gcc gcc -o myapp myapp.c + +This will add your current directory as a volume to the comtainer, set the working directory to the volume, and run the command `gcc -o myapp myapp.c` which will tell gcc to compile the code in myapp.c and output the executable to myapp. Alternatively, if you have a make file, you can instead run the make command inside your container. + + docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp make + # Issues and Contributing We are always thrilled to receive pull requests, and do our best to process them as fast as possible. Not sure if that typo is worth a pull request? Do it! We will appreciate it.