Releases: shipping-docker/vessel
Permission Fixes and More
➡️➡️➡️ 🔥**This version has a breaking changes.**🔥 Thus we'll do a major version change to 2.0.0
. **
➡️➡️➡️ Users will be required to re-build their containers.
Breaking Changes
- Via #30: Use
WORKDIR
inDockerfile
to simplify Vessel command and get around some grimness when usingexec
. - Via d1c71e6:
Dockerfile
forapp
container creates uservessel
and changes that user's UID viaENTRYPOINT
(anytime a container is started) to match the current user's UID, allowing file writes to the container. This gets around:- Linux user file permissions with Docker (which we've gotten around before, but this also allows point 2 below)
- Commands like
./vessel artisan tinker
which write history to$HOME/.config
within the container now will have permission to write to that location, whereas before we'd hit an error attempting to write to//.config
(file path in root directory, with double back-slash since$HOME=/
by default)
Minor Changes
- Via #25:
MAINTAINER
replaced withLabel
within Dockerfile - Via #24: Readme references correct env var
- Also updated in
vessel-docs
repo
- Also updated in
User Permissions
This update fixes user permissions when running CLI commands (mostly on Linux).
Note: Rebuild your containers
This update makes a change to how the app
container is built. It's not technically a breaking change, but to get the full update, you'll need to rebuild the containers as documented here.
Update Notes
- In particular, we run
exec
commands with the-u
flag and set the user ID to the currently running user id. - Running commands otherwise will use
gosu
, which does "magic" to run a command that starts up a container as a non-root user, while letting us do things ahead of time as the root user within the container (the officialmysql
container does this as well, if you're interested to see it! Installing Gosu - Using Gosu)
Yelling At The User™
Adds a "post-update-cmd" hook in composer.json
to remind users to check this space to see if any updates require a rebuilding of their Docker images (which version 1.2 will need!)
Update: It didn't actually work, the hook isn't called when the package is a dependency of a parent project. So, that's fun. I'll need a fancier/better way to tell people when to rebuild their images.
CLI Fixes and Improvements
- Typo's fixed
- PHP-FPM sets
clear_env
to false to allow sending env variables to PHP (good for development, not production, but this isn't a production tool) via #9 - Don't create extraneous
.env".bak"
file via #16 - Source
.env
file afterAPP_PORT
andMYSQL_PORT
defaults are set, so.env
file can over-ride the defaults (and allow the.env
file to be used over specifying in the CLI manually) via e18cba - Pass in all arguments to
composer
,artisan
andphpunit
, fixing #18
Full support for Mac and Linux
Support for Linux!
This update deals more properly with Linux volume mounting and file permissions when running Docker directly on a Linux host (which, unlike MacOS, requires no layer of virtualization to run).
Initial Release (Alpha)
Initial release of Vessel, geared towards Mac users.
See https://vessel.shippingdocker.com for documentation.