Я знаю, что есть много вопросов людей, которые борются с этим, но, пожалуйста, прочитайте весь пост.
Так что я просто хочу создать dockerfile, который открывает порт 8888 для доступа к блокноту jupyter позже.
Это мой dockerfile:
FROM continuumio/anaconda3
ENV DEBIAN_FRONTEND=noninteractive
ARG USERNAME=remote
ARG USER_UID=1000
ARG USER_GID=$USER_UID
COPY environment.yml* noop.txt /tmp/conda-tmp/
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \
&& apt-get -y install git openssh-client less iproute2 procps iproute2 lsb-release \
&& if [ -f "/tmp/conda-tmp/environment.yml" ]; then /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; else echo "did not find environment.yml"; fi \
&& rm -rf /tmp/conda-tmp \
&& groupadd --gid $USER_GID $USERNAME \
&& useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& apt-get install -y sudo \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\
&& chmod 0440 /etc/sudoers.d/$USERNAME \
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=dialog
EXPOSE 8888
Я запускаю следующие команды для запуска и запуска контейнера:
docker build -t intelligait3d . (create the image)
docker run -t -d --publish=8888:8888 --name ig intelligait3d (start a container based on the image)
Все до этого момента работает без любые проблемы, но теперь приходит то, чего я не понимаю:
Это работает просто отлично.
Но когда я пытаюсь go до
localhost:8888?/token=(the token jupyter provides)
or
ipofthecontainer:8888?/token=(the token jupyter provides)
Это ничего не делает (время соединения истекло), и я понятия не имею, почему.
Я проверяю ip контейнера с помощью:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name
и проверяю, что EXPOSE работал с:
платформа: windows
python -версия: 3.7.7
среда conda: да
Что я здесь не вижу?