{"id":20485177,"url":"https://github.com/nekroze/ishmael","last_synced_at":"2026-04-18T12:36:54.849Z","repository":{"id":57514254,"uuid":"157270357","full_name":"Nekroze/ishmael","owner":"Nekroze","description":"Docker container inspector. Easily check conditions for scripting.","archived":false,"fork":false,"pushed_at":"2019-03-03T01:08:04.000Z","size":35,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-16T04:30:10.095Z","etag":null,"topics":["docker","inspector","scripting","tool"],"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/Nekroze.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":"2018-11-12T20:11:03.000Z","updated_at":"2019-03-03T01:07:22.000Z","dependencies_parsed_at":"2022-08-31T22:01:40.487Z","dependency_job_id":null,"html_url":"https://github.com/Nekroze/ishmael","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekroze%2Fishmael","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekroze%2Fishmael/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekroze%2Fishmael/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekroze%2Fishmael/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nekroze","download_url":"https://codeload.github.com/Nekroze/ishmael/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242058863,"owners_count":20065174,"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":["docker","inspector","scripting","tool"],"created_at":"2024-11-15T16:28:14.081Z","updated_at":"2026-04-18T12:36:54.804Z","avatar_url":"https://github.com/Nekroze.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ishmael\n\nThis is a tool for poking docker in scripts and gaining specific information such as if a container is passing its health checks at present.\n\n## Installing and Updating\n\nYou must have the Go compiler installed and correctly configured, then you can run:\n\n```bash\ngo get -u github.com/Nekroze/ishmael/...\n```\n\n## Usage\n\nAll subcommands support the `--help` and `-h` switches to get more information about what can be done but here are some examples:\n\n### Check if a container is alive:\n\nThis command will do a one off check to see if a container with ID `f31760063290` is running. Returns a non zero exit code if the container is not currently running.\n\n```bash\nishmael alive f31760063290\n```\n### Wait for a container to be alive:\n\nThis command will do one check every second for 10 seconds to see if a container with ID `f31760063290` is running. Returns a non zero exit code if the container is not up and running in time.\n\n```bash\nishmael alive --wait 10 f31760063290\n```\n\nShould the container be restarting or not running at all then it will stop immediately.\n\n### Check if a container is healthy:\n\nThis command will do a one off check to see if a container with ID `f31760063290` is healthy. Returns a non zero exit code if the container is not currently healthy.\n\n```bash\nishmael healthy f31760063290\n```\n\n### Wait for a container to be healthy:\n\nThis command will do one check every second for 10 seconds to see if a container with ID `f31760063290` is running. Returns a non zero exit code if the container is not healthy in time.\n\n```bash\nishmael healthy --wait 10 f31760063290\n```\n\nShould the container be running but not have any health status or not even be running at all then it will stop immediately.\n\n### Find the id for a docker compose project's service\n\nSay we have a docker compose project called foo with a service called bar. If we wanted to get the ID of a running instance of the service, the `find` subcommand is your friend.\n\n```bash\nishmael find foo bar\n```\n\nThis will return 0 and print out the ID of the first running instance of the service it can find.\n\n### Get the addresses a container exposes\n\nIf we had a running container called `my_nginx_1` and it had declared port `8080` as exposed, we could get the address to this container port using the `address` subcommand.\n\n```bash\nishmael address my_nginx_1\n```\n\nThen we might get `172.16.0.2:8080` depending on the IP address docker assigns it. For containers that use host networking `127.0.0.1` will be given instead in an attempt to access the port on the loopback interface.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekroze%2Fishmael","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnekroze%2Fishmael","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekroze%2Fishmael/lists"}