7 ms·
Docker Hub Official Repos: Announcing Language Stacks
- ae0000 12y agoDoes anyone know why debian was chosen as the source for these repos? I thought they were defaulting to ubuntu. ie. https://github.com/docker-library/golang/blob/master/1.3/Dockerfile https://github.com/docker-library/golang/blob/master/1.3/Doc...
- tianon 12y agoThis question was asked on https://github.com/docker-library/golang/issues/11#issuecomment-56748915 https://github.com/docker-library/golang/issues/11#issuecomm... too, but the main reason is that the "debian" base images are tightly controlled and kept really minimal, so it's easy to make the new images as minimal as they can be too. The Ubuntu images are also great, but they include more stuff as part of keeping a consistent experience, so they don't have the same focus on minimalism that the Debian images can.
- shykes 12y agoNote that the image maintainers (starting with tianon above) reserve the right to change the base distro they use for the images. So they can truly use the best tool for the job, now and in the future.
- prudhvis 12y agoChanging the distro underneath would break all other Dockerfiles that assume they are running on a certain distro. How do we have to deal with cases when the distro is switched from debian to centos for example?.
- deleted 12y ago[deleted]
- IanCal 12y agoIf you don't want things to get broken further down the line, you should use tags. It's the same with any dependency.
- voltagex_ 12y agoTaking that a step further - why not a busybox image to get even smaller?
- 0x006A 12y agoHow would you install the build dependencies with busybox? Go requires some packages to build, from the Dockerfile: apt-get install -y ca-certificates curl gcc libc6-dev bzr git mercurial
- zimbatm 12y agoIt's possible to install another package manager like opkg. See https://github.com/progrium/busybox https://github.com/progrium/busybox
- 0x006A 12y agoright, that would be an option, if opkg had packages for python mercurial or bzr. (those are needed for go get to work). Don't see those in http://downloads.openwrt.org/snapshots/trunk/x86_64/packages/packages/ http://downloads.openwrt.org/snapshots/trunk/x86_64/packages...
- zimbatm 12y agoAnother solution is to build your go executable in a different container and import it into a busybox container. That changes the layering from: debian add go, bzr, mercurial, python, ... build executable to: busybox executable That reduces the amount of data that needs to be downloaded on new boxes by a factor of ten or so.
- voltagex_ 12y agoYeah, that looks good - I'm in Australia so anything that reduces the amount I need to download is excellent.
- deleted 12y ago
- pandog 12y agoMaybe I'm missing something here but I don't see this as being particularly useful? It's a nice quick way to get an application running in Docker but realistically would you want to be depending upon these images in production? The power I see in Docker is the ability to create portable images that contain everything my application needs. I don't want to depend upon Docker (the company) to figure out what these images should look like. Am I looking at this the wrong way?
- danielbln 12y agoIf the Dockerfiles were available, I would feel better about it. Just glancing around I couldn't find the stacks Dockerfiles, so not sure those are available.
- wernerb 12y agoI understand where you're coming from. At first glance I thought it would be the return of the dreaded virtual appliance giving people no clue on how developer X got to end result Y. However, this is not that. Docker simply gives more emphasis to officially maintained docker images of popular projects, all of which have Dockerfiles available for your inspection!
- rayalez 12y agoI'm very happy to see Hy language among the official repos! I think more people should know about it.
- agumonkey 12y agoThis is quite huge. A transpiled LISP in a trendy mainstream project ... I need to sit. ps: while they're at it, there's also http://scriptor.github.io/pharen/ http://scriptor.github.io/pharen/ (php)
- Loic 12y agoFor people not aware, "Hy transforms its Lisp code into the Python Abstract Syntax Tree"[0]. [0]: http://hy.readthedocs.org/en/latest/index.html http://hy.readthedocs.org/en/latest/index.html
- farslan 12y agoPity they choose "Golang" instead of "Go" for their default Go image. It's called "Go". And they built Docker with Go.
- jamespacileo 12y agoGo isn't very search friendly, Golang is A LOT better for identifying and searching anything related to it.
- levosmetalo 12y agoPity Google choose "Go" instead of "Golang" for their programming language. There were already another "Go!". And they built it from scratch so they could choose whatever name instead of a common English word.
- deleted 12y ago[deleted]
- TeMPOraL 12y ago> And they built Docker with Go. That's why they know "Go" is very often called "Golang", for search-engine-related reasons.
- snupples 12y agoYes, and silly Google for making the URL for Go "golang.org". Someone should let them know it's called Go, not golang! This is like the new "It's GNU/Linux - NOT LINUX!" Except with less validity. It's totally interchangeable in common usage, and in fact much more explicit to use the term "golang".
- skrebbel 12y agoCan someone explain to me what the fuss is about? I mean, e.g. the Java 7 dockerfile is 3 lines. Why is it better for me to FROM these images instead of copying those three lines into my own dockerfile?
- peterwwillis 12y agoWell from a practical sense it's just making it more modular for you to mix and match without duplicating configuration. But the fuss is about PR. If this were Gentoo or something there'd just be a big directory of ebuilds and you'd just use them as you needed. But an announcement like this always makes it to the front page of HN, and then other sites, and they get more eyeballs on their site. So it's half useful, half business-as-usual.