Size: a a a

2021 January 15

AN

Aleksey Nakoryakov in SPb Python
David Shiko
А у меня проблемка, собранный докер
Поддерживает только python 3.8, а у меня 3.9 (ибо в нем классная штука с генериками param1: list[str], устанавливал из репов самостоятельно).
Можно как-то поменять версию вручную на 3.9 или это геморно?

Код конфига:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9
COPY ./app /app

мои команды:

docker build -t myimage .
docker run -d --name mycontainer -p 80:80 myimage
Не вижу тут 3.9 https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker
Надо писать своё, либо делать PR в эту репу
источник

AN

Aleksey Nakoryakov in SPb Python
источник

DS

David Shiko in SPb Python
Большое спасибо, первый вариант сработал (2ой нет). Теперь пытаюсь понять что эти команды значат, что бы дыр в безопасности не наделать
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
Большое спасибо, первый вариант сработал (2ой нет). Теперь пытаюсь понять что эти команды значат, что бы дыр в безопасности не наделать
Для полного совпадения с ожидаемым поведением tiangolo/uvicorn-gunicorn-fastapi надо объединить эти докерфайлы, поправив их по мелочи, что бы они сочетались в одном файле
источник

AN

Aleksey Nakoryakov in SPb Python
Aleksey Nakoryakov
Для полного совпадения с ожидаемым поведением tiangolo/uvicorn-gunicorn-fastapi надо объединить эти докерфайлы, поправив их по мелочи, что бы они сочетались в одном файле
А. Из второго докерфайла нужна только строчка RUN pip install --no-cache-dir fastapi
источник

DS

David Shiko in SPb Python
Рано я сказал, что работает, образ собрался, но ошибка осталась (версию на 3.9 поменял, пытаюсь понять в чем дело)
  File "/app/main.py", line 125
   if user := crud.read_user_by(db=db, column='current_token', value=token):
            ^
SyntaxError: invalid syntax
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
Рано я сказал, что работает, образ собрался, но ошибка осталась (версию на 3.9 поменял, пытаюсь понять в чем дело)
  File "/app/main.py", line 125
   if user := crud.read_user_by(db=db, column='current_token', value=token):
            ^
SyntaxError: invalid syntax
Там явно дальше написано, что за ошибка, не всё нужное скопипастил
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
Там явно дальше написано, что за ошибка, не всё нужное скопипастил
Ага, там стрелочка на проблемное место указывает, поэтому не стал вставлять
SyntaxError: invalid syntax
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
Ага, там стрелочка на проблемное место указывает, поэтому не стал вставлять
SyntaxError: invalid syntax
Пришли результат выполнения docker run --rm myimage python --version
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
Пришли результат выполнения docker run --rm myimage python --version
В яблочко!)
 sudo docker run --rm myimage python --version
Python 3.7.7

Надо
учесть, что конфиг состоял только из 1ой ссылки (версию менял)
(https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8.dockerfile )
источник

AN

Aleksey Nakoryakov in SPb Python
Значит, собираешь один образ, а запускаешь другой
источник

КП

Кирилл П in SPb Python
а ты entrypoint прописал?
источник

DS

David Shiko in SPb Python
Кирилл П
а ты entrypoint прописал?
Нет
источник

КП

Кирилл П in SPb Python
перед copy
источник

КП

Кирилл П in SPb Python
workdir тож
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
Значит, собираешь один образ, а запускаешь другой
Имена у контейнеров одинаковые, может по этому, хотя я запускаю по айди
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
Имена у контейнеров одинаковые, может по этому, хотя я запускаю по айди
Имена у контейнеров или у образов? Это разные вещи. Принципиально
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
Имена у контейнеров или у образов? Это разные вещи. Принципиально
Вот так это выглядит
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
Вот так это выглядит
У тебя разные имиджи, разберись с ними и определись, что ты запускаешь. И кажется мне, сейчас придут модераторы, и погрохают наши сообщения за оффтоп, т.к. мы тут развели филиал @docker_ru (или @ru_docker, не знаю, какой правильней)
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
У тебя разные имиджи, разберись с ними и определись, что ты запускаешь. И кажется мне, сейчас придут модераторы, и погрохают наши сообщения за оффтоп, т.к. мы тут развели филиал @docker_ru (или @ru_docker, не знаю, какой правильней)
Спасибо за ссылку
источник