{ "info": { "author": "Benjamin Althues", "author_email": "benjamin@babab.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: ISC License (ISCL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Unix Shell", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: User Interfaces", "Topic :: System :: System Shells", "Topic :: Text Processing", "Topic :: Utilities" ], "description": "wdocker\n==============================================================================\n\n\n\n.. image:: https://travis-ci.org/babab/wdocker.svg?branch=master\n :target: https://travis-ci.org/babab/wdocker\n\n.. image:: https://gemnasium.com/babab/wdocker.svg\n :target: https://gemnasium.com/babab/wdocker\n\n.. image:: https://img.shields.io/pypi/v/wdocker.svg\n :target: https://pypi.python.org/pypi/wdocker/\n\n.. image:: https://img.shields.io/pypi/dm/wdocker.svg\n :target: https://pypi.python.org/pypi/wdocker/\n\n.. image:: https://img.shields.io/pypi/l/wdocker.svg\n :target: https://pypi.python.org/pypi/wdocker/\n\n\nGithub_ | BitBucket_ | PyPI_ | Travis-CI_\n\nwdocker is a simple little solution to manage your docker image(s)\nand container(s) without having to remember and type long lists of\noptional arguments to docker commands. There are far more sophisticated\nsoultions for managing Docker container environments like Decking_ or\n`Docker compose`_ and I advise to use them for setting up environments\nof multiple containers.\n\nReasons for using this docker wrapper called wdocker may be:\n\n- it does not need an (extra) configfile\n- it does not make any assumptions about your docker environment\n- it is very flexible and scriptable\n\n\nDependencies\n------------\n\n- Python_ 2.7 or 3.2 and higher\n- Docker_\n\n\nInstalling\n----------\n\nInstalling (from the Python Package Index):\n\n.. code-block:: shell\n\n sudo pip install --upgrade wdocker\n\nInstalling (development version):\n\n.. code-block:: shell\n\n git clone git://github.com/babab/wdocker.git\n cd wdocker\n sudo make install\n\nUn-installing:\n\n.. code-block:: shell\n\n pip uninstall wdocker\n\n\nWriting commands in your Dockerfile\n-----------------------------------\n\nWhen wdocker runs, it parses the Dockerfile in the current directory and\ntries to find variables and commands. These are both defined by using a\n'special' comment, that begins with ``#wd#``.\n\nDefining a variable:\n\n.. code-block:: shell\n\n #wd# = \n\n\nDefining a command (commands are very much like shell aliases):\n\n.. code-block:: shell\n\n #wd# : \n\n\nExpanding a variable in another variable or command:\n\n.. code-block:: shell\n\n #wd# somevar = {variable}\n #wd# somecommand: {variable}\n\n\nDockerfile examples\n-------------------\n\nYou must define your own commands and it don't even have to be docker\ncommands, so you can get as creative as you would like.\n\nA very basic Dockerfile might look like this:\n\n.. code-block:: shell\n\n #wd# name = example_basic\n #wd# build: docker build -t {name} .\n #wd# run: docker run -it --name {name} {name}\n\n FROM debian:latest\n CMD watch ps aux\n\nIt is perfectly possible to combine variables and commands, like in this\nexample:\n\n.. code-block:: shell\n\n # wdocker vars:\n\n #wd# docker = docker\n #wd# name = combined\n #wd# build = {docker} build -t {name} .\n #wd# run = {docker} run -it --name {name} {name}\n\n # wdocker commands:\n\n #wd# build: {build}\n #wd# run: {run}\n #wd# up: {build} && {run}\n\n FROM debian:latest\n CMD watch ps aux\n\n\nUsing wdocker to run commands\n-----------------------------\n\nIt you just run wdocker without any arguments, it will show a usage\nmessage with the possible commands that you have defined in you\nDockerfile with the variables expanded. This can be used to review any\ncommand before actually executing it.\n\nTo also show variables and internal commands, run wdocker with either\n``-h``, ``-help`` or ``--help``.\n\nThe usage message for the last Dockerfile example looks like this:\n\n.. code-block:: console\n\n Usage: wdocker [ | -help]\n\n Commands:\n build docker build -t combined .\n run docker run -it --name combined combined\n up docker build -t combined . && docker run -it --name combined combined\n\n\nAnd the full message with wdocker -help looks like this:\n\n.. code-block:: console\n\n Usage: wdocker [ | -help]\n\n Internal commands:\n -help, -h, --help show full usage info and vars\n -version show version info\n -print-var print value of \n\n Variables:\n docker = docker\n name = combined\n build = docker build -t combined .\n run = docker run -it --name combined combined\n\n Commands:\n build docker build -t combined .\n run docker run -it --name combined combined\n up docker build -t combined . && docker run -it --name combined combined\n\n\nThis means you can proceed to execute either ``wdocker build``,\n``wdocker run`` or ``wdocker up``.\n\n\nRunning tests\n-------------\n\nTesting is done with nose. To install nose and run tests in a Python\nvirtualenv for example, do the following (pyvenv is available since\nPython 3.3):\n\n.. code-block:: shell\n\n pyvenv .virtualenv\n source .virtualenv/bin/activate\n pip install -r requirements-dev.txt\n nosetests -v\n\nTests are run automatically for each commit and/or pull request by\nTravis-CI_.\n\n\nBugs, Issues and Enhancements\n-----------------------------\n\nFeel free to use the issues, forking and/or pull requests mechanisms of\nGithub_ or Bitbucket_ to submit bugs, ideas or enhancements.\n\n\n.. _Github: https://github.com/babab/wdocker\n.. _Bitbucket: https://bitbucket.org/babab/wdocker\n.. _PyPI: https://pypi.python.org/pypi/wdocker\n.. _Travis-CI: https://travis-ci.org/babab/wdocker\n.. _Decking: http://decking.io/\n.. _Docker compose: https://docs.docker.com/compose/\n.. _Python: https://www.python.org/\n.. _Docker: https://www.docker.com/\n\nLicense\n-------\n\nwdocker is released under an ISC license, which is functionally\nequivalent to the simplified BSD and MIT/Expat licenses, with language\nthat was deemed unnecessary by the Berne convention removed.\n\n------------------------------------------------------------------------------\n\nCopyright (c) 2015 Benjamin Althues \n\nPermission to use, copy, modify, and distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n\nChange Log\n==========\n\nAll notable changes to wdocker will be documented here. The project\nadheres to `Semantic Versioning `_.\n\n\n0.2.0 - 2015-10-02\n------------------\n\nAdded\n#####\n- This CHANGELOG\n- Internal command ``-version`` for displaying version information\n- Support for full shell commands like ``docker foo exec ip addr | grep 172``\n\nFixed\n#####\n- Internal commands not displaying with -help when there is no Dockerfile\n- Handle error when variable is called but not defined\n\n\n0.1.0 - 2015-09-26\n------------------\nAdded\n#####\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/wdocker", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/babab/wdocker", "keywords": null, "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "wdocker", "package_url": "https://pypi.org/project/wdocker/", "platform": "any", "project_url": "https://pypi.org/project/wdocker/", "project_urls": { "Download": "https://pypi.python.org/pypi/wdocker", "Homepage": "http://github.com/babab/wdocker" }, "release_url": "https://pypi.org/project/wdocker/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Define docker commands in your Dockerfile", "version": "0.2.0" }, "last_serial": 1749476, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "39576f0d25e5b5896d4f8073f77f80d0", "sha256": "0bd7c9b6c05dcba3bbb4e197554a9fb12f74d8cc11a2eadf5d73dbdf1d0fe2c9" }, "downloads": -1, "filename": "wdocker-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39576f0d25e5b5896d4f8073f77f80d0", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 9183, "upload_time": "2015-09-26T19:04:47", "url": "https://files.pythonhosted.org/packages/fb/01/a3af0593bdbba5246236d32f4e5502a4d92c216fc8d4a685fbab63ea79f8/wdocker-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "813f51742597d87e3362b0b8184f96cc", "sha256": "d39d6911729268f7c67825106768f3679ae9bb0146d8651ffa03a7173a8504f2" }, "downloads": -1, "filename": "wdocker-0.1.0.tar.gz", "has_sig": false, "md5_digest": "813f51742597d87e3362b0b8184f96cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5895, "upload_time": "2015-09-26T19:05:05", "url": "https://files.pythonhosted.org/packages/aa/f5/2d33f21283f975b1d113dbe444f77f94cdab6384f3b43e3a4eb5f6c0ab87/wdocker-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0af2fbf9aff1137838b92fb0edc61b3b", "sha256": "d3dd4f7bd5d6c5d1d9956c11671d3549d9a907fccb2bd242abd3ee6cb2db91c8" }, "downloads": -1, "filename": "wdocker-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0af2fbf9aff1137838b92fb0edc61b3b", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 10596, "upload_time": "2015-10-02T19:36:02", "url": "https://files.pythonhosted.org/packages/be/4c/4d7b1bf736f13813187c57b0036c5e68d4c561a0526814d6cd8ed78fd779/wdocker-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d873202d66b1d99a13004009e9f36d25", "sha256": "1844a0fe254c3765790d1e3527de375a239edb6655b3819fa8ab7ab9ea983787" }, "downloads": -1, "filename": "wdocker-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d873202d66b1d99a13004009e9f36d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7078, "upload_time": "2015-10-02T19:36:13", "url": "https://files.pythonhosted.org/packages/5e/f8/921a7547a47f5ffd8e29e1f0daf9e70ee91db03c13c718de278f560e42ac/wdocker-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0af2fbf9aff1137838b92fb0edc61b3b", "sha256": "d3dd4f7bd5d6c5d1d9956c11671d3549d9a907fccb2bd242abd3ee6cb2db91c8" }, "downloads": -1, "filename": "wdocker-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0af2fbf9aff1137838b92fb0edc61b3b", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 10596, "upload_time": "2015-10-02T19:36:02", "url": "https://files.pythonhosted.org/packages/be/4c/4d7b1bf736f13813187c57b0036c5e68d4c561a0526814d6cd8ed78fd779/wdocker-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d873202d66b1d99a13004009e9f36d25", "sha256": "1844a0fe254c3765790d1e3527de375a239edb6655b3819fa8ab7ab9ea983787" }, "downloads": -1, "filename": "wdocker-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d873202d66b1d99a13004009e9f36d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7078, "upload_time": "2015-10-02T19:36:13", "url": "https://files.pythonhosted.org/packages/5e/f8/921a7547a47f5ffd8e29e1f0daf9e70ee91db03c13c718de278f560e42ac/wdocker-0.2.0.tar.gz" } ] }