#python #docker #dockerfile
#python #docker #dockerfile
Вопрос:
У меня есть приложение на python, которое использует этот инструмент, и я не могу понять, как это сделать.
Я использовал FROM tyrrrz/discordchatexporter:stable
, но тогда как я могу запускать команды из него. Я подумываю об использовании a subprocess.Popen
для запуска команд, может кто-нибудь показать мне, как добавить его в dockerfile и как к нему добраться (путь команда)
Это мой Dockerfile
FROM python:3.8-slim as base
# Setup env
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONFAULTHANDLER 1
FROM base AS python-deps
# Install pipenv and compilation dependencies
RUN pip install pipenv
RUN apt-get update amp;amp; apt-get install -y --no-install-recommends gcc
# Install python dependencies in /.venv
COPY Pipfile .
COPY Pipfile.lock .
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
FROM base AS runtime
# Copy virtual env from python-deps stage
COPY --from=python-deps /.venv /.venv
ENV PATH="/.venv/bin:$PATH"
# Create and switch to a new user
RUN useradd --create-home az
WORKDIR /home/az
USER az
# Install application into container
COPY . .
# Run the application
CMD python main.py
Комментарии:
1. Невозможно объединить изображения или вызвать двоичные файлы в одном изображении из другого. Если вам нужно вызвать эти двоичные файлы, вам нужно выполнить
RUN
какую-то команду в вашем собственном образе, чтобы установить их (pip install
,apt-get install
,curl
в зависимости от того, как он упакован).2. @DavidMaze Я этого не знал, спасибо. Я хочу запустить
dotnet something.dll
параллельно с моим python, возможно ли это? потому что dotnet не установлен по умолчанию.