{ "info": { "author": "Jen-Soft", "author_email": "jen.soft.master@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "License :: OSI Approved :: Apple Public Source License", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Natural Language :: Russian", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Software Development", "Topic :: System", "Topic :: System :: Clustering", "Topic :: System :: Emulators" ], "description": "# pydocker\nEasy generator Dockerfile for humans\n\n Let's use power of python for generate dockerfile!\n \n Advantages:\n - all features from python: variables, multiline strings, code reuse.\n - keep all your code in one file [bash, python, conf, ...]\n - generate many docker files from one template [testing, production, ]\n - generate sequence [Dockerfile.debian => Dockerfile.python => Dockefile.yourapp, ...]\n - or if you not expert in sed, awk - you can use python for modify conf files : )\neasy code, easy costomize\n\n# Install\n # sudo apt-get install python-setuptools && sudo easy_install pip\n pip install -U pydocker\n\n\n# Using \n
# Dockerfile.py
\n```python\nimport sys\nimport logging\nimport pydocker # github.com/jen-soft/pydocker\n\nlogging.getLogger('').setLevel(logging.INFO)\nlogging.root.addHandler(logging.StreamHandler(sys.stdout))\n\n\nclass DockerFile(pydocker.DockerFile):\n \"\"\" add here your custom features \"\"\"\n\n\nd = DockerFile(base_img='debian:8.2', name='jen-soft/custom-debian:8.2')\n\nd.RUN_bash_script('/opt/set_repo.sh', r'''\n```\n```bash\ncp /etc/apt/sources.list /etc/apt/sources.list.copy\n\ncat >/etc/apt/sources.list <_ console:\n\npython3 Dockerfile.py\ndocker images\n```\n\n\n## Alternative uage: \n- install from repo (without pip)\n ```bahs\n F=$(python -c \"import site; print(site.getsitepackages()[0]+'/pydocker.py')\")\n sudo wget -v -N raw.githubusercontent.com/jen-soft/pydocker/master/pydocker.py -O $F\n ```\n\n - without any installation:\n ```python\n try: from urllib.request import urlopen # python-3\n except ImportError: from urllib import urlopen # python-2\n exec(urlopen('https://raw.githubusercontent.com/jen-soft/pydocker/master/pydocker.py').read())\n #\n d = DockerFile(base_img='debian:8.2', name='jen-soft/custom-debian:8.2')\n # ...\n ```\n * Helpful if you need just build img\n \n- not required installation\n ```python\n #!/usr/bin/env python\n # -*- coding: utf-8 -*-\n try:\n from pydocker import DockerFile # pip install -U pydocker\n except ImportError:\n try:\n from urllib.request import urlopen # python-3\n except ImportError:\n from urllib import urlopen # python-2\n #\n exec(urlopen('https://raw.githubusercontent.com/jen-soft/pydocker/master/pydocker.py').read())\n #\n import sys\n import logging\n\n logging.getLogger('').setLevel(logging.INFO)\n logging.root.addHandler(logging.StreamHandler(sys.stdout))\n\n\n class MyDockerFile(DockerFile):\n \"\"\" add here your custom features \"\"\"\n #\n\n\n d = MyDockerFile(base_img='debian:8.2', name='jen-soft/debian:8.2')\n # ...\n ```\n * Helpful if you need share your Dockerfile.py\n\n## License\n\nThis work is dual-licensed under **Apache License 2.0** and **MIT License**.\nYou can choose between one of them if you use this work.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/jen-soft/pydocker/archive/v1.0.5.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jen-soft/pydocker", "keywords": "dockerfile,docker,pydocker,python,deploy,docker-image,for-humans", "license": "Apache License 2.0 and MIT License", "maintainer": "Jen-Soft", "maintainer_email": "jen.soft.master@gmail.com", "name": "pydocker", "package_url": "https://pypi.org/project/pydocker/", "platform": "any", "project_url": "https://pypi.org/project/pydocker/", "project_urls": { "Download": "https://github.com/jen-soft/pydocker/archive/v1.0.5.zip", "Homepage": "https://github.com/jen-soft/pydocker" }, "release_url": "https://pypi.org/project/pydocker/1.0.5/", "requires_dist": null, "requires_python": "", "summary": "Easy generator Dockerfile for humans.", "version": "1.0.5" }, "last_serial": 5403795, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "6fed8467105b66d382319aae298f037e", "sha256": "e7521c30ad52a808f35832c424e174ace4491329e34b87e190519545843a4f97" }, "downloads": -1, "filename": "pydocker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6fed8467105b66d382319aae298f037e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5566, "upload_time": "2019-05-03T12:18:12", "url": "https://files.pythonhosted.org/packages/f3/88/a90003a40533cec66eec59dedf334171cb3ce6289e6690c211578b57725f/pydocker-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ef0be1768bb9b5959e6f9c06bd24c96a", "sha256": "aabbd899b02590d66c9908a38c4daed6b31ae4311d0cc81ec4f5753c1909c998" }, "downloads": -1, "filename": "pydocker-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ef0be1768bb9b5959e6f9c06bd24c96a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5561, "upload_time": "2019-05-03T12:25:43", "url": "https://files.pythonhosted.org/packages/be/a4/8b547198368a94eb7c8bee9abd41ce4e80927c4daff91b0b51cafe59c5bb/pydocker-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9fcc45ff55e0220844d63f2eb23c0910", "sha256": "43d4e6d6dccd5f4bde51d747d2de56215e6ba9b38b27ef8746489b8f57abe7d8" }, "downloads": -1, "filename": "pydocker-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9fcc45ff55e0220844d63f2eb23c0910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5684, "upload_time": "2019-05-03T13:23:03", "url": "https://files.pythonhosted.org/packages/f7/9d/237b5a324c34cc96ea68b1ba02359b598d9acf8658066b465ee3f3de791c/pydocker-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "697f12d2f9ed20f23bde52e43e65cd1f", "sha256": "bca340de7a0c02b257efcfb77ef0dd423f36ac34c43e81ae6b8793b96c72b9f4" }, "downloads": -1, "filename": "pydocker-1.0.4.tar.gz", "has_sig": false, "md5_digest": "697f12d2f9ed20f23bde52e43e65cd1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5713, "upload_time": "2019-05-03T14:20:33", "url": "https://files.pythonhosted.org/packages/8c/24/5e765b95a7bee2cee62bb2c0a79b571f8acf00a49c784bd8d33e67a94e5e/pydocker-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f41bc499837314731f3273eb2b335b27", "sha256": "ed5c07a1f5de7a9886b77409c0ad17ae8f513454623b34855aa79cc373e5a16d" }, "downloads": -1, "filename": "pydocker-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f41bc499837314731f3273eb2b335b27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6242, "upload_time": "2019-06-15T11:26:39", "url": "https://files.pythonhosted.org/packages/45/a6/93928fe8c2442a64737ab9113b89a8f00babf63ae5a57170479d2f46d0ef/pydocker-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f41bc499837314731f3273eb2b335b27", "sha256": "ed5c07a1f5de7a9886b77409c0ad17ae8f513454623b34855aa79cc373e5a16d" }, "downloads": -1, "filename": "pydocker-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f41bc499837314731f3273eb2b335b27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6242, "upload_time": "2019-06-15T11:26:39", "url": "https://files.pythonhosted.org/packages/45/a6/93928fe8c2442a64737ab9113b89a8f00babf63ae5a57170479d2f46d0ef/pydocker-1.0.5.tar.gz" } ] }