I am using python3.10 and building a basic Q&A chatbot. I have built docker image using below dockerfile:
FROM python:3.10.14-bookworm
WORKDIR /app
COPY ./app/requirements.txt .
RUN pip3 install -r requirements.txt
COPY . .
EXPOSE 8080
CMD ["streamlit", "run", "app/app.py", "--server.port", "8080"]
I used docker build -t chatbotimg .
command to build docker image and it got created as well, but when I tried to run it, it started like below:
Collecting usage statistics. To deactivate, set browser.gatherUsageStats to false.
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8080
Network URL: http://172.17.0.1:8080
External URL: http://105.222.203.146:8080
But when I clicked on the link, the browser wasn’t working, it gave an error (Safari browser): Safari Can’t open the page "localhost:8080" because safari Can’t connect to the server "localhost". Can someone please help me resolving this issue?
2
Answers
You need to map ports on your computer to the container, try this:
How are you running the container? You need to bind port 8080 of your container to port 8080 of your host machine. You should be able to do this by running: