{ "info": { "author": "Rikki Guy @ MHN", "author_email": "r.guy@mhnltd.co.uk", "bugtrack_url": null, "classifiers": [], "description": "DoBuild\n=======\n\nDocker Container Builder\n------------------------\n\n`dobuild` builds your project's containers specified by a compose-like yaml file.\n`dotempl` templates files (eg. Dockerfiles, docker-stack.yaml's) based on the environment.\n\n\nInstalling\n----------\n\n git clone \n pipsi install ./dostack\n\n\nFeatures\n--------\n\n- Build multiple containers with one command\n- Control order of builds with inter-container dependencies\n- Templating Dockerfiles, e.g. so that one container can FROM another without having to edit Dockerfile each build\n\n\nGetting Started\n---------------\n\nCreate a `dobuild.yaml` file in your project root, with a structure like this:\n\n\tcontainers:\n\t pinger:\n\t context: ./docker/pinger\n\t dockerfile: ./docker/pinger/Dockerfile.t\n\n\t hello:\n\t context: .\n\t dockerfile: ./docker/hello/Dockerfile.t\n\n\t hello2:\n\t context: ./docker/hello2\n\t dockerfile: ./docker/hello2/Dockerfile.t\n\t depends_on:\n\t - hello\n\nThis example defines three containers to be built, *pinger*, *hello* and *hello2*. Here we have declared that *hello2* depends on *hello*, so *hello* will always be built before *hello2*.\n\nNow to build your containers, run\n\n dobuild\n\nAnd watch it happen! `dobuild` runs `docker build` under the hood for you, so the output will be familiar.\n\nIf for example, you only want to a build specific container (and it's dependencies), you can use:\n\n dobuild hello2\n\nwhich will build *hello2* (and *hello* as it's a dependency), but not *pinger*.\n\nTemplates\n---------\n\n`dobuild` templates your Dockerfiles using [moustache](https://mustache.github.io/mustache.5.html) templates. \n\nFor example, the Dockerfile for *hello2* above:\n\n FROM {{ containers.hello }} \n RUN echo \"Building {{ containers.hello2 }}\"\n ENTRYPOINT echo Hello, World, 2!\n\nYou can use `{{ containers. }}` to refer to the uri of any container in the project in the current build. Other available tags:\n\n- `{{ docker.registry }}` The docker registry added to container URIs, if defined.\n- `{{ docker.prefix }}` The prefix added to container URIs, if defined.\n\nContainer URIs (Tags)\n---------------------\n\nAfter building your containers, `dobuild` will tag them with meaningful names composed of a registry, prefix and the container name.\n\nFor example, running:\n\n dobuild hello \\\n --registry registry.example.com \\\n --prefix owner/helloworld\n\nWill build and tag the image with URI `registry.example.com/owner/helloworld/hello`.\n\nPushing to a Registry\n---------------------\n\nIf you add the `--push` flag, and all containers built successfully, `dobuild` will push the containers to the specified registry.\n\nEnvironment Variables\n---------------------\n\nOptions can also be specified in environment variables. Note that options on the command line override the environment.\n\n DOBUILD_FILE=./dobuild.yaml # Path to dobuild.yaml\n DOBUILD_REGISTRY=registry.example.com # Docker registry\n DOBUILD_PREFIX=owner/helloworld # Container URI prefix\n DOBUILD_PUSH=True # Push containers after building\n \n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "docker build deploy container", "license": "Copyright MHN Ltd", "maintainer": "", "maintainer_email": "", "name": "dostack", "package_url": "https://pypi.org/project/dostack/", "platform": "", "project_url": "https://pypi.org/project/dostack/", "project_urls": null, "release_url": "https://pypi.org/project/dostack/0.5.4/", "requires_dist": null, "requires_python": "", "summary": "A tool to build/help deploy docker containers. Make for docker.", "version": "0.5.4" }, "last_serial": 3730577, "releases": { "0.5.4": [ { "comment_text": "", "digests": { "md5": "a74c4c5a67bd06d763ec9efb2f174a75", "sha256": "0a6f29c0e5981b744e77089b7deccd066fe52a5d3bded20cfbc3e1855dae4b0a" }, "downloads": -1, "filename": "dostack-0.5.4.tar.gz", "has_sig": false, "md5_digest": "a74c4c5a67bd06d763ec9efb2f174a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5744, "upload_time": "2018-04-03T17:38:17", "url": "https://files.pythonhosted.org/packages/39/4b/cbd2e7c84584a3d6f755800d14e54c6aea6b8e2c2b8aa370e69df32c9ced/dostack-0.5.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a74c4c5a67bd06d763ec9efb2f174a75", "sha256": "0a6f29c0e5981b744e77089b7deccd066fe52a5d3bded20cfbc3e1855dae4b0a" }, "downloads": -1, "filename": "dostack-0.5.4.tar.gz", "has_sig": false, "md5_digest": "a74c4c5a67bd06d763ec9efb2f174a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5744, "upload_time": "2018-04-03T17:38:17", "url": "https://files.pythonhosted.org/packages/39/4b/cbd2e7c84584a3d6f755800d14e54c6aea6b8e2c2b8aa370e69df32c9ced/dostack-0.5.4.tar.gz" } ] }