Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release official Docker image of nomad #6487

Closed
eugene-chernyshenko opened this issue Oct 14, 2019 · 13 comments · Fixed by #17017
Closed

Release official Docker image of nomad #6487

eugene-chernyshenko opened this issue Oct 14, 2019 · 13 comments · Fixed by #17017

Comments

@eugene-chernyshenko
Copy link

Please consider releasing a blessed Docker image of nomad on Dockerhub, similar to Vault and Consul

@preetapan
Copy link
Contributor

@eugene-chernyshenko We've previously discussed this in issue #2116

While we could release a docker image that constraints the use of Nomad agents only as servers, its important to note that Nomad clients need access to the underlying host to fingerprint CPU/Disk/Memory etc. We can provide workarounds in the dockerfile, but this is not a recommended way to run Nomad clients in production.

We'll keep this issue open to gauge interest/demand.

@eugene-chernyshenko
Copy link
Author

We understand it. We want to use docker image for nomad server only. It would be helpful for many people. You can describe this moment in the documentation

@FernandoMiguel
Copy link

FernandoMiguel commented Nov 6, 2019

I'm also interested in the servers only

@tommyalatalo
Copy link

I am interested in having an official nomad image for CI/CD purposes to that it would be possible to run nomad jobs from a pipeline without having to install it into the environment.

Would be much nicer having an official image than relying on community members to keep updating to the latest version.

@berkant
Copy link

berkant commented Jul 4, 2020

I'm also looking for a dockerized server image as well. Clients are already running in a bare metal AMI.

@xeroc
Copy link

xeroc commented May 7, 2021

I would like to have a nomad image so that I can run the nomad-cli in ci/cd. Non need for server or client in my use-case.

@kds-rune
Copy link

kds-rune commented Jan 21, 2022

I would like to have a nomad image so that I can run the nomad-cli in ci/cd. Non need for server or client in my use-case.

I've built container images on docker-hub for this use-case. Would be nice to have an official image. It seems many people have done this as well, but most images I found are not maintained.

If the repository "https://github.com/hashicorp/docker-nomad" was created, I'd think a pull request from someone would be made rather quickly & this old issue closed.

@josegonzalez
Copy link
Contributor

josegonzalez commented Jul 15, 2022

Hi from SeatGeek!

We would like an official docker image as well. We use Nomad Enterprise to test things in CI - notably, our homegrown deployment tooling - and it would be nice to be able to run a nomad cluster in tests. Currently we build our own image, but that is annoying because we now need to maintain another thing. We understand the limits of running

This isn't the case for Consul and Vault, where we can pull the image from docker hub and use it in testing at will. It seems like a huge oversight from our end. I've also raised this concern with our customer success manager in the past, but I'm happy to chat more at length with whomever from Hashicorp to get the ball rolling on this.

As mentioned by @kds-rune, folks would definitely pile on to create a PR for this if the repository was created. Me, I'm folks :)

@zhenik
Copy link

zhenik commented Jul 15, 2022

I think that one of the problem is that nomad has docker driver which requires an access to the docker host (docker container is accessing its docker host does not sound right).

ps. Other way to go is using other virtualization software such as vagrant.

@josegonzalez
Copy link
Contributor

I don't think thats a problem. If folks need a particular driver, they'll of course need to setup the dependencies for that driver. Would we also block creating an image because the official image might not include Java for the Java Driver?

@tgross
Copy link
Member

tgross commented Mar 17, 2023

For clarity, the primary reason we don't ship a container isn't because of the task drivers. It's because correctly configuring Nomad clients to run as Docker containers is fairly hard. https://developer.hashicorp.com/nomad/docs/install/production/requirements#linux-capabilities goes into a lot of detail as to why we require that Nomad clients run as unconstrained root. It's technically possible to run a Nomad client in a container but doing so correctly is non-trivial and requires a solid understanding of some of the low-level details. This would represent a huge support burden for us. Publishing a Docker image would only encourage folks to deploy in a way we don't intend to support (at least for now).

(That being said, running servers in a container is totally fine, which is why we're even considering this at all and haven't just closed the issue 😀 )

@runeron
Copy link

runeron commented Mar 17, 2023

I can imagine many people, like myself, might like an official image only for running the servers (e.g. in kubernetes/compose).

I have been running k8s + nomad this way in my testlab since Kelsey H held this presentation at HashiConf 2017.

Currently I build my own nomad container images for this purpose + for use in automation/pipelines.

@marcaurele
Copy link
Contributor

Now that nomad include the fmt command1, it makes sense to have a container image of nomad in order to validate the job specs at a CI stage. It would also allow to use the CI to perform job deployment automatically.

Footnotes

  1. https://github.com/hashicorp/nomad/pull/14779

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.