Error running streamlit docker

I’ve been trying to create an docker image to run fbprohet and streamlit. When i run the docker run command i get the below error.

I’ve stuck on this issue for a number of days now. Any help would be appreciated.

Thanks,

     $ docker run <image-id> streamlit hello
    Generate machine-id
    Traceback (most recent call last):
      File "/usr/local/bin/streamlit", line 5, in <module>
        from streamlit.cli import main
      File "/usr/local/lib/python3.7/site-packages/streamlit/__init__.py", line 74, in <module>
        subprocess.run(["sudo", "dbus-uuidgen", "--ensure"])
      File "/usr/local/lib/python3.7/subprocess.py", line 488, in run
        with Popen(*popenargs, **kwargs) as process:
      File "/usr/local/lib/python3.7/subprocess.py", line 800, in __init__
        restore_signals, start_new_session)
      File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'sudo': 'sudo'

Dockerfile

FROM python:3.7-alpine

WORKDIR /workspace

COPY requirements.txt .

RUN apk add --no-cache python3 python3-dev build-base libffi-dev openssl-dev curl krb5-dev linux-headers zeromq-dev jpeg-dev zlib-dev && \
    python3 -m ensurepip && \
    rm -r /usr/lib/python*/ensurepip && \
    pip3 install --upgrade pip setuptools && \
    if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
    if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
    rm -r /root/.cache


RUN apk --update add --no-cache gcc freetype-dev libpng-dev

RUN apk add --no-cache --virtual .build-deps \
    musl-dev \
    g++


RUN pip install -r requirements.txt --no-cache-dir 

# removing dependencies
RUN apk del .build-deps


EXPOSE 9999

Hi @zalam, welcome to the Streamlit community! (and sorry the StackOverflow person was a jerk to you)

I wrote my suspected answer on SO, but I’ll copy it here for everyone else:

To me, it looks like we are requiring sudo to be installed in the environment, so if you add sudo to your apk add statement, it might work. Separately, I’m checking with our engineering group to understand why we require sudo and whether we can get that removed in a future release.

Best,
Randy

1 Like

Thanks @randyzwitch

I managed to sort the issue by changing the base python image. Will go back an look at implementing you suggestion to see if that works.

Thanks for your response :smile: :sparkling_heart: Streamlit!!!

1 Like

May I know which python is it? Thanks