docker / kitematic

Visual Docker Container Management on Mac & Windows
https://kitematic.com
Apache License 2.0
12.25k stars 1.41k forks source link

Docker File Creation from kitematic #1734

Open GeoffreyEmery opened 8 years ago

GeoffreyEmery commented 8 years ago

Expected behavior

NA

Actual behavior

NA

Information about the Issue

Feature request

Steps to reproduce the behavior

When i use kitematic and i pull a image from the repo i am contently going back to repo to look at the the docker or compose files. It would be great if this was just another tab in the settings and you could edit the file as well from that tab. Even more grand would be if the shell could keep track of the commands your running and then produce a docker/compose file for you. I think that is asking a lot but hey shoot for the stars.

FrenchBen commented 8 years ago

Shooting for the stars indeed, especially with the 'recording' of commands to create a compose file.

Regarding the docs, the formatting can be quite awful even on the actual Hub pages and why we didn't want to pull them in. There's an icon that allows you to quickly get to the docs.

GeoffreyEmery commented 8 years ago

Hey,

Logging

A guy can dream can't he. I was thinking of it more how node projects create a package json file. Somethign like add a --save or --DockerfIle would log the command to the Dockerfile that you could then do something like $ docker print DockerFile and that would output the Dockerfile. Just a thought.

Dockerfile

Obviously that would not be possible for containers created manually but if they do have a Dockerfile its more like three steps. Coming from someone who is learning about docker and kitematic Ii was really curious to see how the source container was made. Lets take the hello-world-nginx as a example. You pull the image and it starts but how was it really created? what were the commands i would need to use in order to create it? if go to the docker hub you see the pull command but thats not really enough. Luckily someone put a link to the git repo that has the docker file in it but now we are three clicks deep to find out how the container was created. If possible at all. Here are a couple of wires that i would have really helped. Kitematic dockerfile DockerHub dockerhub

A link to the source repo of the container if public would also be super helpful as well. Cheers, G

FrenchBen commented 8 years ago

The source repo is at the discretion of the user and shown on the Docker Hub page. If all users were equally 'open' about how their image is built, it would be nice, except there are no standards related to source, Dockerfile, tags etc.

This causes a lot of logic to be added to the app for not a lot of return.

Regarding the the Dockerfile docker --save you should open a feature request in the docker/docker repo :)

GeoffreyEmery commented 8 years ago

Hey Ben, Isn't one of the main goals to ship the smallest/fastest containers possible? It would seem to me that being able to see how the container was made is of vital to that logic. In addition to security concerns of what is actually running. How would you know if this version of ubuntu doesn't have some middle ware inspecting your calls without being able to see the build commands its running.$ Docker History [image] kind of gets me there but isn't quit there.

GeoffreyEmery commented 8 years ago

Additional the example i used was your own hello world example. It could be set up in the proper way in order to facilitator a best practice for these containers.

GeoffreyEmery commented 8 years ago

This container does show the docker file on the hub.. interesting https://hub.docker.com/r/cloudposse/varnish/

FrenchBen commented 8 years ago

Of course keeping the image lean is a huge 👍 in my book, but not always the case.

Here's a pretty good example: https://hub.docker.com/r/cloudera/impala-dev/tags/ Although they are 'sharing' the Dockerfile, it doesn't really tell me why we're downloading a 5GB image. It has great documentation and some good explanation of what's going on, but some digging is still needed.

That varnish image is a great example. They use FROM ubuntu:14.04 yet perhaps an alpine image could be used to do the same thing and save space :)

disclaimer: I'm playing devil's advocate here as to why it's difficult to do the right thing