Я закончил работу над «докером», и он дал мне ссылку, но я не могу его открыть. Что мне сделать, чтобы увидеть сайт?

В bashвы можете просто заменить это на trap "my-cleanup-command" EXIT. Эта ловушка будет запущена при выходе из скрипта, в том числе, если ему будет отправлен сигнал SIGINT. На мой взгляд, это обычно более элегантный подход...

За исключением того факта, что он -специфичен для bash. Ловушки EXIT упоминаются в POSIX, но их поведение не указано. Во многих других оболочках ловушка EXIT не запускается, если оболочка завершается из-за сигнала.

https://unix.stackexchange.com/a/57960/29483

Иногда я действительно ненавижу сценарии оболочки :).


Глядя на связанный ответ, я думаю, что менее специфичный для bash -способ гарантировать, что код не запустится после первой ловушки, будет немедленный выход. Кажется, есть разные способы сделать это, но вот самый простой, который я бы попробовал.

cleanup() {
    echo "Clean up"
    rm -rf "$dest"
}
trap cleanup EXIT
trap "exit 1" INT ERR

0
06.05.2020, 15:11
1 ответ

Параметр -p 8888:5000, который вы используете в командной строке при запуске контейнера, указывает, что вы хотите сопоставить локальный порт 8888 с портом 5000 в контейнере Docker.

Таким образом, доступ к http://127.0.0.1:8888, скорее всего, приведет к доступу к вашему приложению Flask в контейнере.

См. раздел EXPOSE (входящие порты)в документации по docker run.

2
28.04.2021, 23:16

Теги

Похожие вопросы