-
Notifications
You must be signed in to change notification settings - Fork 8
TODO
George V. Reilly edited this page Jan 31, 2017
·
9 revisions
- Switch from
flyingcloud --build|--run LAYER
toflyingcloud LAYER build
andflyingcloud LAYER run
, like awscli. This means that different flags can be used for each verb.
- Support
from: REPOSITORY
as well asparent
- Support, say,
source: github://org/repo
as a layer, so that layers can be shared and reused. - Support filesystem path to layer in
flyingcloud.yaml
- Provide a YAML mechanism for passing parameters to remote layers
- Support
MAINTAINER
and other Dockerfile keywords. - Support labels as metadata
- Allow Docker to run as non-root: http://askubuntu.com/questions/477551/how-can-i-use-docker-without-sudo
- I talked to jag from the Ansible Container team at DockerCon. He said that they install build-time tools in a mounted volume, so that they don't appear in the final image, which reduces image size and attack surface. It's possible that FlyingCloud could achieve this by using Docker in Docker: install the build tools in one container, then use that container to host and build the target container. Both the build and target containers then need to be pushed to repositories, so that they can be reused by higher layers. Also Docker outside of Docker
- See also Glyph's Deploying Python Applications with Docker, where he creates a builder container, which emits Python wheels, and the application container separately.
- Investigate ONBUILD
- Port to Windows
- Investigate Marek Goldmann's Docker Squash
- The flyingcloud script has a hardcoded list of environment variables that are passed along to
sudo
when running on Linux. Take those environment variable names fromflyingcloud.yaml
. Also, don't passPATH
. Instead, have the Python code prepend$VIRTUAL_ENV/bin
toos.environ['PATH']
, ifsudo
'd