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.
I am using this
With 3.7 (hosting provider (linux company) cannot upgrade to higher python and cannot let me use sudo). Why would you need sudo, can you get around this sudo requirement
I am encountering this error FileNotFoundError: [Errno 2] No such file or directory: 'sudo' when running streamlit on AWS App Runner. Strangely I do not receive this error when running locally via docker.
@randyzwitch did you get anywhere with checking sudo and whether we can get that removed, strikes me as not desirable behaviour?
Ive had quite an education afternoon. After switching base image to python3.8, pushing to a private ECR repo I got role permissions errors, even though all appears to be in order. The switched to public ECR repo and finally got the app depolyed, only to get more errors since I built the image on an ARM Mac and this is incompatible with aws instace (TBC) - error standard_init_linux.go:219: exec user process caused: exec format error`.
I am trying to deploy my streamlit app on docker.
I successfully deployed my streamlit app using docker but its not connecting the url generated : http://172.17.0.2:8501
It is showing this site cant be reached…refused to connect …
App is already running on the local system,(port 8501) its working fine. Also have deployed the same using streamlit sharing but i want to deploy using dockers