Skip to main content

Make developpement with docker simply

Project description

Introduction
=================

docky : Make docker and docker compose simply !


History
----------
This project was initialy created for building odoo environments without effort based on docker-compose and docker

Step by step we make it generic and now we also use it for our rails, ruby developpment

How it works
---------------

Docky is depend on docker-compose and use exactly the same file (so you can move from docker-compose to docky and vice-versa without any effort)

Docky just make docker-compose simplier and integrate a default docker-compose file generator


Installation and Update
-------------------------

You need to install docker-ce : https://docs.docker.com/install/

Then install docky with python3

.. code-block:: shell

sudo pip3 install docky

Update Docky:
------------------

.. code-block:: shell

sudo pip3 install docky --upgrade


Configuration:
--------------

The configuration file is in your home : '~/.docky/config.yml'

verbose [True, False]:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Verbose mode is activated by default in order to help you to learn what docky do


env [dev, prod, preprod]:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Specify which kind of environment is used

network
~~~~~~~~~~~
Docker network configuration for all container run with docky
See docker configuration

proxy
~~~~~~
Proxy configuration:

- autostart: automatically start proxy when running the container
- custom_image: custom image name if needed
- name: name of the proxy container


Automatic Proxy
---------------

When doing dev, is quickly a mess to manage the port of your container, docky integrate a proxy (a basic docker image : https://github.com/akretion/docky-proxy/)

If you want to enjoy this proxy you need to configure a wildcard domain to *.dy to the IP 172.30.0.2

For that on mac and linux system you can install and configure dnsmasq

For Ubuntu (dnsmasq)
~~~~~~~~~~~~~~~~~~~~~~~

Install dnsmasq
```
sudo apt-get install dnsmasq
```

Then configure dnsmasq y adding the line "address=/dy/172.30.0.2" in "/etc/dnsmasq.conf"

Restart it

```
sudo systemctl restart dnsmasq
```

If you have some issue on ubutnu 18.04 please take a look here for the configuration

- https://computingforgeeks.com/install-and-configure-dnsmasq-on-ubuntu-18-04-lts/
- https://superuser.com/questions/1318220/ubuntu-18-04-disable-dnsmasq-base-and-enable-full-dnsmasq

editing the /etc/systemd/resolved.conf and setting "DNSStubListener=no" seem to be the simpliest solution


For Mac (dnsmasq)
~~~~~~~~~~~~~~~~~~~

Google is your friend by some link found, please share the doc you have found

https://passingcuriosity.com/2013/dnsmasq-dev-osx/
https://www.computersnyou.com/3786/how-to-setup-dnsmasq-local-dns/


For Windows (Acrylic DNS)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Dnsmasq is not available on windows but you can use Acrylic DNS to do exactly the same thing.
See answer here: https://stackoverflow.com/questions/138162/wildcards-in-a-windows-hosts-file?answertab=votes#tab-top


Getting Started
---------------------

Use docky --help

But basically docky run is your friend

READ the documentation: `Docky documentation <http://akretion.github.io/docky/master/index.html>`_


Troubleshooting
--------------------

To avoid issue with line wrapping with "docky open" please use a version of docker > to 18.06.0-ce
see : https://github.com/docker/compose/issues/6151

Other issue :
see https://github.com/akretion/docky/wiki

Changelog
----------

version 5.0.0:

- Resolve mac compatibility by remove proxy code that use a mounted version of etc/hosts
now you need to install dnsmasq.
This should also solve windows compatibilty by using the local dns https://stackoverflow.com/questions/138162/wildcards-in-a-windows-hosts-file?answertab=votes#tab-top
- Solve issue with project name in multi user env (the name is based on user + directory name)
- Add possibility to specify the service for run, open, logs, kill, down, restart, start cmd
for example now you can do "docky open db" to open a terminal on the db server
or you can restart a service like "docky restart varnish"
- Solve issue with missing aliases name
- Solve issue with missing environment variable with docky open (now we use a monkey-pacthed version of docker-compose exec)
- Fix documentation build
- Improve docky none specific cmd to a project to be run without project.
For example, you can use docky help, docky proxy outside of a directory project


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docky-5.0.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

docky-5.0.1-py34+-none-any.whl (29.9 kB view details)

Uploaded Python 3.4+

File details

Details for the file docky-5.0.1.tar.gz.

File metadata

  • Download URL: docky-5.0.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for docky-5.0.1.tar.gz
Algorithm Hash digest
SHA256 49ca94aaa088a99168068cacdfca2cc717a10c01bbe00d3dba2d2d13d6e7678e
MD5 e630686cd059b8feedbfe369db67d225
BLAKE2b-256 93c962c954cd6b45271eaeeea5a0c0cf83224282a465c9f1c0e61ee959496cdb

See more details on using hashes here.

File details

Details for the file docky-5.0.1-py34+-none-any.whl.

File metadata

  • Download URL: docky-5.0.1-py34+-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3.4+
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for docky-5.0.1-py34+-none-any.whl
Algorithm Hash digest
SHA256 f53004ea9164829d327b457c0b5fb7c3950e19ced0705a70e86614baf9c98e69
MD5 5153b0d73cb8223c062fd6b33718f19b
BLAKE2b-256 1842a99abd395de740c5af21d15c4fd32e1e55cb397c4906dc19d51c10ede9ea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page