{"id":16086646,"url":"https://github.com/astares/pharo-docker","last_synced_at":"2026-02-14T04:37:59.853Z","repository":{"id":78113767,"uuid":"146728481","full_name":"astares/Pharo-Docker","owner":"astares","description":"Access Docker from Pharo","archived":false,"fork":false,"pushed_at":"2024-11-18T20:47:14.000Z","size":597,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T12:52:13.985Z","etag":null,"topics":["pharo"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astares.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-30T09:40:15.000Z","updated_at":"2024-11-18T20:47:18.000Z","dependencies_parsed_at":"2024-08-26T01:34:20.714Z","dependency_job_id":"7d912f48-a268-4f4e-a9ae-d89992d6ace1","html_url":"https://github.com/astares/Pharo-Docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/astares/Pharo-Docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astares%2FPharo-Docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astares%2FPharo-Docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astares%2FPharo-Docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astares%2FPharo-Docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astares","download_url":"https://codeload.github.com/astares/Pharo-Docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astares%2FPharo-Docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274166524,"owners_count":25233958,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["pharo"],"created_at":"2024-10-09T13:24:42.598Z","updated_at":"2026-02-14T04:37:59.790Z","avatar_url":"https://github.com/astares.png","language":"Smalltalk","readme":"# Pharo-Docker\nAccess to Docker from [Pharo](http://www.pharo.org) (scripting, Spotter, etc)\n\n# Overview\n\n### Description\n\nWith this project it is possible to drive Docker using Pharo language. Additionally it includes tools like\nthe spotter browser extension to easily work with remote or local docker images directly from a Pharo image.\n\n### Screenshot\n\n![](images/docker2.png)\n\n![](images/docker.png)\n\n## Installation\n\n### Installation of Docker\nFirst install Docker on your local machine. It need to be accessible in the path so Pharo can find the **docker** command.\nFor Ubuntu use the following steps:\n\n```\nsudo apt-get install docker.io\n```\n\nAs we want to run the docker command without being sudo we need to add our current user to the docker group. This can be easily done using the following two lines:\n\n```\nsudo groupadd docker\nsudo usermod -a -G docker $USER\n```\nTypically you have to logout and relogin (or restart your machine) for this to be in effect.\n\nTry your first docker command to see it is working:\n\n```\ndocker run hello-world\n\n```\n### Installation of Pharo\n\nIt is easy to download and run Pharo on your machine with the help of [Pharo ZeroConf](http://get.pharo.org/).\nJust run the following commands in a shell to download a full Pharo 7 - 64 Bit image together with the virtual machine:\n\n```\nwget -O- get.pharo.org/64/70+vm | bash\n```\n\nand run it\n\n```\n./pharo-ui Pharo.image ../load.st\n```\n\nFor all those new to Pharo: Pharo also has the concept of an *\"image\"* - which is a snapshot of the Pharo object memory and not the same as a \"Docker image\". The Pharo image is a portable file with an *.image extension usable on different operating systems like Linux, Mac, Windows, Raspbian/Pi or other.\n\n### Installation of this project\n\nTo install this project into Pharo evaluate the following expression in a Pharo playground. For this go to the Pharo world menu and select *Tools* -\u003e *Playground* to open a playground workspace window. Paste the following expression there:\n\n```Smalltalk\n Metacello new\n        baseline:'Docker';\n        repository: 'github://astares/Pharo-Docker:master/src';\n        load\n```\n\nand select *Do it* from the context menu of the playground to evaluate the loading expression.\n\n## Usage\n\n### Retrieve informations\n\nThere are three important classes you will find in this package:\n\n - Docker\n - DockerImage (a local image)\n - DockerHubImage (a remote image)\n\nThe first one can be used to get some informations:\n\n```Smalltalk\nDocker version\n```\n\nYou can ask for all *local* docker images:\n\n```Smalltalk\nDocker localImages \n```\nwhich should return a collection with at least the already used \"hello-world\" image. Note that these are images that were already downloaded (\"pulled\").\n\nYou can also do a query to find all *remote* image on [DockerHub](http://hub.docker.com) starting with a specific name:\n\n```Smalltalk\nDocker searchDockerHubFor: 'ubuntu' \n```\nalso returning a collection.\n\n### Pull from DockerHub\n\nUsing the project one can also access *remote* images found on DockerHub:\n\n```Smalltalk\nDockerHubImage fromHubName: 'pharo/vm'\n```\n\nand pull them locally\n\n```Smalltalk\n(DockerHubImage fromHubName: 'pharo/vm') pull\n```\nthey will be added locally which you can check again using:\n\n```Smalltalk\nDocker localImages \n```\n\nThere is an easier expression to pull and directly return the result:\n\n```Smalltalk\nDocker pull: 'pharo/image'\n```\n \n### Remove an image\n\n```Smalltalk\nDocker remove: 'pharo/image'\n```\n\n... to be continued\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastares%2Fpharo-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastares%2Fpharo-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastares%2Fpharo-docker/lists"}