{ "info": { "author": "Peter Odding", "author_email": "peter@peterodding.com", "bugtrack_url": null, "classifiers": [], "description": "redock: A human friendly wrapper around Docker\n==============================================\n\nRedock is a human friendly wrapper around Docker_, the `Linux container\nengine`_. Docker implements a lightweight form of virtualization_ that makes it\npossible to start and stop \"virtual machines\" in less than a second. Before\nDocker the use of virtualization meant conventional virtual machines with all\nof the associated bloat. Docker makes it ridiculously cheap and fast to\nstart/save/kill containers. This opens up exciting new possibilities for\nDevOps:\n\n- Complex build environments can be split up into isolated containers where\n each container is concerned with the build requirements of a single project.\n If a project's build goes out of hand you just trash the container and go on\n your merry way :-)\n\n- The correctness of automated deployment systems (and distributed systems in\n general) can be verified by using containers to host the configuration\n management server and agents.\n\n- To be honest, Docker is so fast that I could imagine myself building a test\n suite of a complete cluster on top of it.\n\nThe last point is the reason why I started working on Redock. In my initial\nexperiments with Docker_ I found a lot of sharp edges (both in the lack of\ndocumentation and in the implementation of Docker_ and its Python API) but at\nthe same time my fingers were itching to wrap Docker in an easy to use and\nhuman friendly wrapper to try and unleash its potential.\n\nWhat Redock gives you is Docker without all the hassle: When you create a\ncontainer, Redock will install, configure and start an SSH_ server and open\nan interactive SSH session to the container. What you do with the container\nafter that is up to you...\n\nStatus\n------\n\nRedock should be considered alpha quality software. So far it has been used by\na single person (me). Right now it's intended for development work, not\nproduction use. This might change over time, depending on my experiences with\nDocker over the coming weeks / months (I'm specifically concerned with\nstability and performance).\n\nBy the way the same can and should be said about Docker_ (its site says as\nmuch). During heavy testing of Redock I've experienced a number of unhandled\nkernel mode NULL pointer dereferences that didn't crash the host system but\ncertainly also didn't inspire confidence ;-). It should be noted that these\nissues didn't occur during regular usage; only heavy testing involving the\ncreation and destruction of dozens of Docker containers would trigger the\nissue.\n\nThere's one thing I should probably mention here as a disclaimer: Redock\nrewrites your SSH configuration (``~/.ssh/config``) using update-dotdee_. I've\ntested this a fair bit, but it's always a good idea to keep backups (hint).\n\nI'm currently using Redock on Ubuntu 12.04 with Docker 0.6.3 and a Linux 3.8.0\nkernel (as suggested in Docker's `installation instructions`_ for Ubuntu). I've\nonly just switched to these versions and it seems they may have solved the\nstability issues I mentioned above (time will tell :-).\n\nUsage\n-----\n\nYou will need to have Docker_ installed before you can use Redock, please refer\nto Docker's `installation instructions`_. You may also want to add your user\naccount to the ``docker`` group so you can connect to Docker without ``sudo``\n(this took me a while to realize when I switched to Docker 0.6 :-). After\nyou've installed Docker you can install Redock using the following command::\n\n $ pip install redock\n\nThis downloads and installs Redock using pip_ (the Python package manager).\nRedock is written in Python so you need to have Python installed. Redock pulls\nin a bunch of dependencies_ so if you're familiar with `virtual environments`_\nyou might want to use one :-). Once you've installed Docker and Redock, here's\nhow you create a container::\n\n $ redock start test\n\nIf you run this command interactively and you start a single container, Redock\nwill start an interactive SSH_ session that connects you to the container. In\nany case you will now be able to connect to the container over SSH_ using the\nname you gave to the container suffixed with ``-container``::\n\n $ ssh test-container\n\nThis works because your ``~/.ssh/config`` has been updated to include a host\ndefinition for the container. This means you can connect using rsync_ or\nanything else which works on top of SSH_ (e.g. to bootstrap a configuration\nmanagement system). When you're done playing around with the container you can\nsave your changes with the following command::\n\n $ redock commit test\n\nThis command will persist the state of the container's file system in a Docker\nimage. The next time you run Redock with the same name it will create a\ncontainer based on the existing disk image. To kill and delete a running\ncontainer you use the following command::\n\n $ redock kill test\n\nThis will discard all changes made to the file system inside the container\nsince the last time that ``redock commit`` was used. The Docker image\nassociated with a container can be deleted like this::\n\n $ redock delete test\n\nNaming conventions\n~~~~~~~~~~~~~~~~~~\n\nIn the examples above the name ``test`` is used. This name is used by Redock to\nidentify the running container (created with ``redock start``) and any\nassociated images (created with ``redock commit``). By using multiple names you\ncan run multiple containers in parallel and you can suspend / resume \"long\nterm\" containers.\n\nThe names accepted by Redock are expected to be of the form ``repository:tag``\n(two words separated by a colon):\n\n1. The first part (``repository`` in the example) is a top level name space for\n Docker images. For example there is a repository called ``ubuntu`` that\n contains the official base images. Similarly Redock uses the repository\n ``redock`` for the base image it creates on the first run.\n\n2. The second part (``tag`` in the example) is the name of a specific container\n and/or image; I usually just sets it to the host name of the system that\n will be running inside the container.\n\nIf the colon is missing the ``repository`` will be set to your username (based\non the environment variable ``$USER``).\n\nContact\n-------\n\nThe latest version of Redock is available on PyPI_ and GitHub_. The API\ndocumentation is `hosted on Read The Docs`_. For bug reports please create an\nissue on GitHub_. If you have questions, suggestions, etc. feel free to send me\nan e-mail at `peter@peterodding.com`_.\n\nLicense\n-------\n\nThis software is licensed under the `MIT license`_.\n\n\u00a9 2013 Peter Odding.\n\n.. External references:\n.. _dependencies: https://github.com/xolox/python-redock/blob/master/requirements.txt\n.. _Docker: http://www.docker.io/\n.. _GitHub: https://github.com/xolox/python-redock\n.. _hosted on Read The Docs: https://redock.readthedocs.org/en/latest/\n.. _installation instructions: http://www.docker.io/gettingstarted/\n.. _Linux container engine: http://en.wikipedia.org/wiki/LXC\n.. _MIT license: http://en.wikipedia.org/wiki/MIT_License\n.. _peter@peterodding.com: peter@peterodding.com\n.. _pip: http://www.pip-installer.org/\n.. _PyPI: https://pypi.python.org/pypi/redock\n.. _rsync: http://en.wikipedia.org/wiki/Rsync\n.. _SSH: http://en.wikipedia.org/wiki/Secure_Shell\n.. _update-dotdee: https://pypi.python.org/pypi/update-dotdee\n.. _virtual environments: http://www.virtualenv.org/\n.. _virtualization: http://en.wikipedia.org/wiki/Virtualization", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xolox/python-redock", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "redock", "package_url": "https://pypi.org/project/redock/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/redock/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/xolox/python-redock" }, "release_url": "https://pypi.org/project/redock/0.5.8/", "requires_dist": null, "requires_python": null, "summary": "Human friendly wrapper around Docker", "version": "0.5.8" }, "last_serial": 876550, "releases": { "0.4.4": [ { "comment_text": "", "digests": { "md5": "89b497cc695a3c00ce497a49ffa70520", "sha256": "fad267128bda9e9a1f2ec5b0ef9d81b160a69626288fcf31335b0361a11fd59e" }, "downloads": -1, "filename": "redock-0.4.4.tar.gz", "has_sig": false, "md5_digest": "89b497cc695a3c00ce497a49ffa70520", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20088, "upload_time": "2013-07-15T20:27:50", "url": "https://files.pythonhosted.org/packages/ac/d6/7be967242371fe7554d0062a8be1e8bada6d98e6b56b24c5cd8befebb927/redock-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "43b49ad2b2ed94138ecad2b1aafdc997", "sha256": "75e8e5d78111bb1df1973cde8b5974cf65adafd708dfb612ca0f45d346bf552d" }, "downloads": -1, "filename": "redock-0.4.5.tar.gz", "has_sig": false, "md5_digest": "43b49ad2b2ed94138ecad2b1aafdc997", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20164, "upload_time": "2013-07-15T20:40:12", "url": "https://files.pythonhosted.org/packages/52/b6/5f60bda1302d83c0ee6f598a628e2b90c10bdd7ba14cecd218ca32df4e3a/redock-0.4.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "1db128eb031110cc491a80c77a91b9ad", "sha256": "689f995f93d902d4a09920c4006c1744816f2d3322093a66582cdecd275b5d50" }, "downloads": -1, "filename": "redock-0.5.1.tar.gz", "has_sig": false, "md5_digest": "1db128eb031110cc491a80c77a91b9ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20937, "upload_time": "2013-07-15T23:12:28", "url": "https://files.pythonhosted.org/packages/e0/2b/60c82413c869b3779984a1125b4da20684152feecf2cc8d1396318ba4eff/redock-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "237f65e6a4153774adf88190cfb2f51f", "sha256": "dc6d1e3e9072edef2c379c667afe06929287379719ef6e718586f8d5ef9b1352" }, "downloads": -1, "filename": "redock-0.5.2.tar.gz", "has_sig": false, "md5_digest": "237f65e6a4153774adf88190cfb2f51f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21022, "upload_time": "2013-07-16T15:24:46", "url": "https://files.pythonhosted.org/packages/b7/94/d845d07f429de877eee2e85a4591edf09707e57a3947762e41f0158bd454/redock-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f729602a919afd6566322d7bc5004b24", "sha256": "96cce896fbf5e5a8d7365dd292594bd459a2a03e2f0ab825f45b19f6c5ef0646" }, "downloads": -1, "filename": "redock-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f729602a919afd6566322d7bc5004b24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21031, "upload_time": "2013-07-16T15:33:56", "url": "https://files.pythonhosted.org/packages/ab/02/2494f82bd9aa625f0a6304b74a80aaa504a08e87099f6521994c5a4cfee2/redock-0.5.3.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "97805e1f3f744a847cf8812b9f3d91bf", "sha256": "de5135e4b9a469185c3bacf068b356b9e1ab38731e397e69d6e096e444bbebe2" }, "downloads": -1, "filename": "redock-0.5.5.tar.gz", "has_sig": false, "md5_digest": "97805e1f3f744a847cf8812b9f3d91bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21015, "upload_time": "2013-08-06T13:36:35", "url": "https://files.pythonhosted.org/packages/d5/33/fd36ab5a1357468c96554a4bfe0f43dbb79bf80f8696f6f6f81d87e78d9d/redock-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "ecfd6da3055e6f8b2202ac8b8629d5aa", "sha256": "40a217e9e4b0abe7650c6f8a717b52c6ddf16a7b9297a5d91db59f9a5a73b8b1" }, "downloads": -1, "filename": "redock-0.5.6.tar.gz", "has_sig": false, "md5_digest": "ecfd6da3055e6f8b2202ac8b8629d5aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20986, "upload_time": "2013-09-07T22:05:12", "url": "https://files.pythonhosted.org/packages/a4/f3/9225955236cc339aacc233234b77f493ec570a76543c4841dbb1a4a2de0c/redock-0.5.6.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "8c1dd69fac0ee3a675ef284a9500a4a0", "sha256": "7128b230e0b1c03459ced4a5285d2de0307a0069bd46ee96f0739bc171ddba79" }, "downloads": -1, "filename": "redock-0.5.8.tar.gz", "has_sig": false, "md5_digest": "8c1dd69fac0ee3a675ef284a9500a4a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21027, "upload_time": "2013-09-29T22:20:17", "url": "https://files.pythonhosted.org/packages/25/4b/08c8d1f20fc1a871afadc2bcf672482b063c6f8c7348c54e4ff54c327edb/redock-0.5.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c1dd69fac0ee3a675ef284a9500a4a0", "sha256": "7128b230e0b1c03459ced4a5285d2de0307a0069bd46ee96f0739bc171ddba79" }, "downloads": -1, "filename": "redock-0.5.8.tar.gz", "has_sig": false, "md5_digest": "8c1dd69fac0ee3a675ef284a9500a4a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21027, "upload_time": "2013-09-29T22:20:17", "url": "https://files.pythonhosted.org/packages/25/4b/08c8d1f20fc1a871afadc2bcf672482b063c6f8c7348c54e4ff54c327edb/redock-0.5.8.tar.gz" } ] }