Previously we had no control over how internal ports in the containter got
published.
Following UNICORN_BIND_ALL=true setting this broke docker dev env and exposed
this weakness.
The new `d/boot_dev` will only export on localhost, if you wish to export
network with use `d/boot_dev -p`
When developing using docker, in order to support symlinks in the
`plugins/` directory, this reads the symlinks' values and mounts them to
the dev docker container.
When there are spaces in any of the directories referenced, bash will error out. This wraps those items in quotes to allow bash to parse the path names properly.
This PR is intended to work in concert with the discourse_docker changes
in https://github.com/discourse/discourse_docker/pull/292. I have used
those changes to build a local "discourse_dev" image, and then
_**these**_ changes to easily spin up and work on Discourse and plugin
functionality. It's working well for me, but of course YMMV.
Add `--init` and `--patch` options to bin/docker/boot_dev to make it
easier to spin up a container running Discourse out of a development
directory.
Add `bin/docker/README.md` to explain how to go about using the docker
command-line tools.
Tweak the Docker command-line tools to use the `-u` option to specify
user rather than changing to the user "inside" the container via `chpst`
(This way, we don't have to explicitly specify the HOME environment
variable, either.)
Add `bin/docker/shell` command to make it easy to jump inside the
running container.