Skip to content

pandasai-docker sandbox raises an 403 Client Error #1801

@elisabethloiperdinger

Description

@elisabethloiperdinger

System Info

The code below where we set Docker host to use Podman socket returns two errors, one Image Not Found Access Denied When Pulling Image. The image pandasai-sandbox can not be found on Docker Hub.

OS Name & Version: Red Hat Enterprise Linux & 9.6
Python version: 3.10.18
Current version of pandasai being used: 3.0.0b19
Current version of pandasai-docker being used: 0.1.4

🐛 Describe the bug

Code:

import pandasai as pai
from pandasai_docker import DockerSandbox
import os

os.environ['DOCKER_HOST'] = 'unix:///run/user/1009/podman/podman.sock'

pai.api_key.set("MY-KEY")

sandbox = DockerSandbox()
sandbox.start()

Error:

Traceback (most recent call last):
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/client.py", line 275, in _raise_for_status
    response.raise_for_status()
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/requests/models.py", line 1026, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http+docker://localhost/v1.41/containers/create

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/models/containers.py", line 876, in run
    container = self.create(image=image, command=command,
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/models/containers.py", line 935, in create
    resp = self.client.api.create_container(**create_kwargs)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/container.py", line 440, in create_container
    return self.create_container_from_config(config, name, platform)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/container.py", line 457, in create_container_from_config
    return self._result(res, True)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/client.py", line 281, in _result
    self._raise_for_status(response)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/client.py", line 277, in _raise_for_status
    raise create_api_error_from_http_exception(e) from e
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/errors.py", line 39, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation) from e
docker.errors.ImageNotFound: 404 Client Error for http+docker://localhost/v1.41/containers/create: Not Found ("no such image: docker.io/library/pandasai-sandbox: image not known")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/client.py", line 275, in _raise_for_status
    response.raise_for_status()
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/requests/models.py", line 1026, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: http+docker://localhost/v1.41/images/create?tag=latest&fromImage=pandasai-sandbox

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/operational_data_synthetic_docker.py", line 23, in <module>
    sandbox.start()
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/pandasai_docker/docker_sandbox.py", line 74, in start
    self._container = self._client.containers.run(
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/models/containers.py", line 879, in run
    self.client.images.pull(image, platform=platform)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/models/images.py", line 464, in pull
    pull_log = self.client.api.pull(
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/image.py", line 429, in pull
    self._raise_for_status(response)
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/api/client.py", line 277, in _raise_for_status
    raise create_api_error_from_http_exception(e) from e
  File "/var/home/eloiperd/op_data_innovate/pandasai_docker_proj/.pai-docker-env/lib/python3.10/site-packages/docker/errors.py", line 39, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation) from e
docker.errors.APIError: 403 Client Error for http+docker://localhost/v1.41/images/create?tag=latest&fromImage=pandasai-sandbox: Forbidden ("denied: requested access to the resource is denied")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions