eWaterCycle / eWaterCycle/grpc4bmi
Do we want to support podman in grpc4bmi?
- Dominant language
- Python
- Stars
- 5
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
[Podman](https://docs.podman.io/en/latest/) is an alternative to docker. It's used as `alias docker=podman`.
However, this is incompatible with grpc4bmi. In grpc4bmi, we used the [docker python library](https://docker-py.readthedocs.io/en/stable/) like so:
```
import docker
client = docker.from_env()
```
This fails with
```
...
ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
DockerException Traceback (most recent call last)
Cell In[4], line 1
----> 1 docker.from_env()
File ~/mambaforge/envs/ewatercycle/lib/python3.10/site-packages/docker/client.py:96, in DockerClient.from_env(cls, **kwargs)
94 version = kwargs.pop('version', None)
95 use_ssh_client = kwargs.pop('use_ssh_client', False)
---> 96 return cls(
97 timeout=timeout,
98 max_pool_size=max_pool_size,
99 version=version,
100 use_ssh_client=use_ssh_client,
101 **kwargs_from_env(**kwargs)
102 )
File ~/mambaforge/envs/ewatercycle/lib/python3.10/site-packages/docker/client.py:45, in DockerClient.__init__(self, *args, **kwargs)
44 def __init__(self, *args, **kwargs):
---> 45 self.api = APIClient(*args, **kwargs)
File ~/mambaforge/envs/ewatercycle/lib/python3.10/site-packages/docker/api/client.py:197, in APIClient.__init__(self, base_url, version, timeout, tls, user_agent, num_pools, credstore_env, use_ssh_client, max_pool_size)
192 # version detection needs to be after unix adapter mounting
193 if version is None or (isinstance(
194 version,
195 str
196 ) and version.lower() == 'auto'):
--> 197 self._version = self._retrieve_server_version()
198 else:
199 self._version = version
File ~/mambaforge/envs/ewatercycle/lib/python3.10/site-packages/docker/api/client.py:221, in APIClient._retrieve_server_version(self)
216 raise DockerException(
217 'Invalid response from docker daemon: key "ApiVersion"'
218 ' is missing.'
219 )
220 except Exception as e:
--> 221 raise DockerException(
222 f'Error while fetching server API version: {e}'
223 )
DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
```
I haven't looked much into it, but if there's no clear way around it, than perhaps [podman-py](https://github.com/containers/podman-py) could be an option
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.