куда docker загружает файл server.py? - PullRequest
0 голосов
/ 26 мая 2020

Настройка: много mp3-записей разговоров со службой поддержки где-то в БД. Каждая mp3-запись имеет 2 канала, один - представитель клиента, другой - голос клиента.

Мне нужно извлечь вложение (тензор) голоса клиента. Это трехэтапный процесс: получение канала, сокращение 10 секунд, преобразование во встраивание. У меня есть все 3 функции для каждого шага.

встраивание - векторный тензор:

"tensor([[0.6540e+00, 0.8760e+00, 0.898e+00, 
    0.8789e+00, 0.1000e+00, 5.3733e+00]])

Протестировано с почтальоном. Получить функцию встраивания:

k

Я хочу создать api отдыха, который подключается на 1 конечной точке к базе данных mp3 файлов и выводит встраивание в другую базу данных.

Мне нужно уточнить важную особенность docker.

Когда я запускаю «python server.py», flask делает его доступным на моем локальном p c - 127.0. 1.01 / 9090:

def get_embedding(file):
    #some code

@app.route('/health')
def check():
     return jsonify({'response':'OK!'})

@app.route('/get_embedding')
def show_embedding():
    return get_embedding(file1)

if __name__ == '__main__':
    app.run(debug=True, port=9090)

когда я делаю это с docker - куда идут сервер и файлы? где он стал доступен в сети, можно ли docker загрузить все файлы в docker облако по умолчанию?

1 Ответ

1 голос
/ 26 мая 2020

Вам нужно написать Dockerfile для создания образа Docker, а после этого запустите container из этого образа, выставленного на порт, и затем вы сможете получить к нему доступ machineIP:PORT

Ниже пример Dockerfile

#FROM tells Docker which image you base your image on (in the example, Python 3).
FROM python:3

#WORKDIR tells which directory container has to word
WORKDIR /usr/app

# COPY files from your host to the image working directory
COPY my_script.py .

#RUN tells Docker which additional commands to execute.
RUN pip install pystrich

CMD [ "python", "./my_script.py" ]

Ссылка: - https://docs.docker.com/engine/reference/builder/

А затем создайте образ docker build -t server .

Ссылка: - https://docs.docker.com/engine/reference/commandline/build/

Как только образ будет собран, запустите контейнер и откройте порт, через который вы можете получить доступ к своему приложению. Например,

docker run -p 9090:9090 server

-p Publi sh порт (ы) контейнера для хоста

И доступ к вашему приложению на localhost:9090 или 127.0.0.1:9090 или machineIP:ExposePort

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...