I'll tell ya, the biggest conceptual problem for me is "where does the data go". This subject isn't touched in the Docker material until very late; and even then, it's brushed over.
To me, docker can be thought of as a process wrapper. The executable is called an image, and the running process called a container. The benefit of docker is three-fold: 1) each process thinks it has an OS to itself, which is a killer feature for native binaries that have weird dependencies 2) network (port) indirection, and 3) filesystem indirection (mounting an arbitrary host dir into an arbitrary container dir).
Against all of this is the whole question of how to really use it to develop and deploy custom software! You could, for example, develop and deploy Java without ever installing Java on the host (not even the development host). But when you are finally ready to deploy, how is that supposed to work? Which pieces are static, which dynamic? Do you bake your binary into the image, or do you mount the binary from the (remote) host filesystem?
The docker docs don't answer any of these questions, and I really think it should.
To me, docker can be thought of as a process wrapper. The executable is called an image, and the running process called a container. The benefit of docker is three-fold: 1) each process thinks it has an OS to itself, which is a killer feature for native binaries that have weird dependencies 2) network (port) indirection, and 3) filesystem indirection (mounting an arbitrary host dir into an arbitrary container dir).
Against all of this is the whole question of how to really use it to develop and deploy custom software! You could, for example, develop and deploy Java without ever installing Java on the host (not even the development host). But when you are finally ready to deploy, how is that supposed to work? Which pieces are static, which dynamic? Do you bake your binary into the image, or do you mount the binary from the (remote) host filesystem?
The docker docs don't answer any of these questions, and I really think it should.