{"id":27390270,"url":"https://github.com/ailispaw/talk2docker","last_synced_at":"2025-04-13T19:39:33.722Z","repository":{"id":25352655,"uuid":"28780299","full_name":"ailispaw/talk2docker","owner":"ailispaw","description":"Yet Another Docker Client to talk to Docker daemon","archived":false,"fork":false,"pushed_at":"2016-05-07T03:42:22.000Z","size":238,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-06-19T06:56:45.791Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ailispaw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-04T17:07:40.000Z","updated_at":"2023-01-17T20:56:06.000Z","dependencies_parsed_at":"2022-07-21T20:48:59.929Z","dependency_job_id":null,"html_url":"https://github.com/ailispaw/talk2docker","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ailispaw%2Ftalk2docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ailispaw%2Ftalk2docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ailispaw%2Ftalk2docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ailispaw%2Ftalk2docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ailispaw","download_url":"https://codeload.github.com/ailispaw/talk2docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248769919,"owners_count":21158885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-13T19:39:33.065Z","updated_at":"2025-04-13T19:39:33.704Z","avatar_url":"https://github.com/ailispaw.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Talk2Docker\n\nTalk2Docker is a simple Docker client to talk to Docker daemon.\n\nContributions and suggestions would be appreciated, though it's aimed at my learning Go and Docker Remote API.\n\n## Features\n\n- Handle multiple Docker daemons\n- Support multiple Dockerfiles to build in the top folder of your project\n- Create containers from a YAML file like Docker Compose (formerly fig)\n- Display a tree of all images, which Docker deprecates\n- Display a history of an image, modeled on Dockerfile\n- Show uploaded files to build in verbose mode and debug mode\n- ~~Handle volumes, inspired by [cpuguy83/docker-volumes](https://github.com/cpuguy83/docker-volumes)~~\n- Support uploading a file/folder to a containter\n- Output in JSON or YAML format as well\n- Organize commands by category\n\n## Limitations\n\n- Only work with Docker Remote API v1.16 or later\n\n## Tested with\n\n- boot2docker v1.4.1 (aufs, devicemapper)\n- CoreOS Beta 557.2.0 (btrfs)\n- CoreOS Alpha 575.0.0 (overlay)\n- only-docker v0.8.0 (overlay)\n- Rancheros Lite (overlay)\n- DockerRoot (overlay)\n\n## Building talk2docker\n\n### Requirements\n\n- [go](http://golang.org/)\n- [godep](https://github.com/tools/godep)\n\n### How to build\n\n```\n$ git clone https://github.com/ailispaw/talk2docker.git\n$ cd talk2docker\n$ make\n```\n\n## Cross-compiling talk2docker\n\n### Requirements\n\n- [VirtualBox](https://www.virtualbox.org/)\n- [Vagrant](https://www.vagrantup.com/)\n\n### How to build\n\n```\n$ git clone https://github.com/ailispaw/talk2docker.git\n$ cd talk2docker\n$ vagrant up\n```\n\n## Usage\n\n```\n$ talk2docker\nTalk2Docker - Yet Another Docker Client to talk to Docker daemon\n\nUsage:\n  talk2docker [flags]\n  talk2docker [command]\n\nAvailable Commands:\n  ps          List containers\n  ls          List images\n  vs          List volumes\n  hosts       list hosts\n  build       Build an image from a Dockerfile\n  compose     Create containers\n  commit      Create a new image from a container\n  version     Show the version information\n  container   Manage containers\n  image       Manage images\n  host        Manage hosts\n  registry    Manage registries\n  config      Manage the configuration file\n  docker      Execute the original docker cli\n\nFlags:\n  -C, --config string   Path to the configuration file (default \"$HOME/.talk2docker/config\")\n  -D, --debug           Print debug messages\n  -h, --help            help for talk2docker\n  -H, --host string     Docker hostname to use its config (runtime only)\n  -J, --json            Output in JSON format\n  -V, --verbose         Print verbose messages\n  -v, --version         Print version information\n  -Y, --yaml            Output in YAML format\n\nUse \"talk2docker [command] --help\" for more information about a command.\n```\n\nYou can find more details in [docs](https://github.com/ailispaw/talk2docker/tree/master/docs) and [examples](https://github.com/ailispaw/talk2docker/tree/master/examples).\n\n### Configuration\n\nTalk2Docker uses a YAML file to configure a connection to Docker daemon.  \nIt locates `$HOME/.talk2docker/config` by default.\nIf it doesn't exist, it will be created automatically as below.\n\n```yaml\ndefault: default\nhosts:\n- name: default\n  url: unix:///var/run/docker.sock\n```\n\nYou can edit/add multiple hosts where Docker daemon runs, as below.\n\n```yaml\ndefault: vagrant\nhosts:\n- name: default\n  url: unix:///var/run/docker.sock\n- name: vagrant\n  url: tcp://localhost:2375\n- name: boot2docker\n  url: tcp://192.168.59.103:2376\n  description: on boot2docker-vm managed by boot2docker\n  tls: true\n  tls-ca-cert: /Users/ailis/.boot2docker/certs/boot2docker-vm/ca.pem\n  tls-cert: /Users/ailis/.boot2docker/certs/boot2docker-vm/cert.pem\n  tls-key: /Users/ailis/.boot2docker/certs/boot2docker-vm/key.pem\n  tls-verify: true\n```\n\n```\n$ talk2docker version\n$ talk2docker --host=boot2docker version\n```\n\n## References\n\n- https://github.com/docker/docker ([Apache License Version 2.0](https://github.com/docker/docker/blob/master/LICENSE))\n- https://docs.docker.com/reference/api/docker_remote_api/\n- https://github.com/samalba/dockerclient ([Apache License Version 2.0](https://github.com/samalba/dockerclient/blob/master/LICENSE))\n- https://github.com/spf13/cobra ([Apache License Version 2.0](https://github.com/spf13/cobra/blob/master/LICENSE.txt))\n- https://gopkg.in/yaml.v2 ([LGPLv3](https://github.com/go-yaml/yaml/blob/v2/LICENSE))\n- https://github.com/howeyc/gopass ([MIT License](https://github.com/howeyc/gopass/blob/master/LICENSE.txt))\n- https://github.com/sirupsen/logrus ([MIT License](https://github.com/Sirupsen/logrus/blob/master/LICENSE))\n- https://github.com/yungsang/tablewriter/tree/talk2docker ([MIT License](https://github.com/olekukonko/tablewriter/blob/master/LICENCE.md))\n- https://github.com/cpuguy83/docker-volumes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Failispaw%2Ftalk2docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Failispaw%2Ftalk2docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Failispaw%2Ftalk2docker/lists"}