<p>GNU <code>make</code> can be found in the <a href="https://hub.docker.com/_/gcc/" rel="noreferrer" title="GCC">gcc</a> container.</p>

<blockquote>
  <p>Compile your app inside the Docker container
  There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:</p>
  
  <p>$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c</p>
  
  <p>This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command gcc -o myapp myapp.c. This tells gcc to compile the code in myapp.c and output the executable to myapp. <strong>Alternatively, if you have a Makefile, you can instead run the make command inside your container</strong></p>
</blockquote>

CC BY-SA 3.0
2017-10-24T13:24:09.300Z
2017-10-24T13:24:09.300Z
AWippler
<p>Depending on what language you want to build with, you can try some of these containers:</p>

<ul>
<li>Python: <code>lambci/lambda:build-python3.6</code></li>
<li>Nodejs: <code>amaysim/serverless:1.23.0</code></li>
<li>Golang: <code>amaysim/golang:1.8.3</code></li>
</ul>

CC BY-SA 3.0
2017-10-24T11:15:11.520Z
2017-10-24T11:15:11.520Z
user2640621
<p>In my opinion there shouldn't be an image to run <code>make</code>, because if you want to build something from source you should install the dependencies and configure before run <code>make</code>, so I think it is just a command and you don't need an image to install it, even <code>make</code> is not a service to be in separate image, it must be used in <code>Dockerfile</code> to help you building your service from source during the image build time and not create a specific image for it.</p>

CC BY-SA 3.0
2017-10-24T11:09:43.587Z
I disagree, `make` within a container has plenty of valid use cases. A build container is a great way of having a consistent build environment across CI tools/environments without polluting your final image with build dependencies. Make is very useful as an entrypoint in that scenario. I agree that generally you will need some kind of dependencies/tools to utilise `make`, but perhaps there are some simple tasks where `make` can be useful by itself.
user2640621
CC BY-SA 3.0
2017-10-24T12:15:25.650Z
@user2640621 If you can find a valid use case of make without any third library header, then your build should not be impacted in any way by the make version. make itself doesn't bring much, you'll need to install the corresponding packages for `libxxx-dev` whatever the system is, and as such baking an image with just `build-essential` doesn't make much sense
Tensibai
CC BY-SA 3.0
2017-10-24T09:07:57.643Z
2017-10-24T09:07:57.643Z
Wissam Roujoulah
<p>When one searches for <a href="https://www.gnu.org/software/make/" rel="nofollow noreferrer">make</a> on <a href="https://hub.docker.com" rel="nofollow noreferrer">dockerhub</a> multiple images are returned, but none of them seems to be able to run make.</p>

CC BY-SA 3.0
2017-12-02T18:31:22.133Z
`make` by itself isn't really very useful, as it's only a task runner; are you perhaps looking for a container that is set up to compile C or C++ applications?
Xiong Chiamiov
<docker><dockerhub><make>
Is there an image on dockerhub that is able to run make?
030
# Is there an image on dockerhub that is able to run make?

(Asked by: username_0 on 2017-10-24)

When one searches for [make](https://www.gnu.org/software/make/) on [dockerhub](https://hub.docker.com) multiple images are returned, but none of them seems to be able to run make.

**Tags:** docker, dockerhub, make

> **Comments:**
> **username_1**: `make` by itself isn't really very useful, as it's only a task runner; are you perhaps looking for a container that is set up to compile C or C++ applications?  

---

## 3 answers

### Answer by username_2 on 2017-10-24. Score: 5 | Accepted answer

GNU `make` can be found in the [gcc](https://hub.docker.com/_/gcc/ "GCC") container.

> Compile your app inside the Docker container
> There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
>
> $ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c
>
> This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command gcc -o myapp myapp.c. This tells gcc to compile the code in myapp.c and output the executable to myapp. **Alternatively, if you have a Makefile, you can instead run the make command inside your container**


---

### Answer by username_3 on 2017-10-24. Score: 1

Depending on what language you want to build with, you can try some of these containers:

* Python: `lambci/lambda:build-python3.6`
* Nodejs: `amaysim/serverless:1.23.0`
* Golang: `amaysim/golang:1.8.3`


---

### Answer by username_4 on 2017-10-24. Score: -1

In my opinion there shouldn't be an image to run `make`, because if you want to build something from source you should install the dependencies and configure before run `make`, so I think it is just a command and you don't need an image to install it, even `make` is not a service to be in separate image, it must be used in `Dockerfile` to help you building your service from source during the image build time and not create a specific image for it.

> **Comments:**
> **username_3**: I disagree, `make` within a container has plenty of valid use cases. A build container is a great way of having a consistent build environment across CI tools/environments without polluting your final image with build dependencies. Make is very useful as an entrypoint in that scenario. I agree that generally you will need some kind of dependencies/tools to utilise `make`, but perhaps there are some simple tasks where `make` can be useful by itself.  
> **username_5**: @username_3 If you can find a valid use case of make without any third library header, then your build should not be impacted in any way by the make version. make itself doesn't bring much, you'll need to install the corresponding packages for `libxxx-dev` whatever the system is, and as such baking an image with just `build-essential` doesn't make much sense  

---

