Как запустить мой скрипт python на docker?

enter image description hereenter image description hereЯ пытаюсь запустить свой скрипт python на docker. Я пробовал разные способы сделать это, но не смог запустить его на docker. Мой скрипт python приведен ниже:

import os

print ('hello') 

Я уже установил docker на своем mac. Но я хочу знать, как я могу создавать изображения, а затем толкать его в docker после этого я хочу вытащить и запустить свой сценарий на самом docker.

2 ответов


хорошо, сначала создайте определенный каталог проекта для вашего образа docker. Например:

mkdir /home/pi/Desktop/teasr/capturing

скопируйте файл dockerfile и скрипт туда и измените текущий контекст в этот каталог.

cp /home/pi/Desktop/teasr/capturing.py /home/pi/Desktop/teasr/dockerfile /home/pi/Desktop/teasr/capturing/

cd /home/pi/Desktop/teasr/capturing

это для лучшей практики, так как первое, что делает docker-engine при сборке, читается весь текущий контекст.

Далее мы посмотрим на ваш dockerfile. Теперь это должно выглядеть примерно так:

FROM python:latest

WORKDIR /usr/local/bin

COPY capturing.py .

CMD ["capturing.py", "-OPTIONAL_FLAG"]

следующая вещь вам нужно сделать, это построить его с умным названием. Используя дотс вообще disencouraged.

docker build -t pulkit/capturing:1.0 .

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

docker run -ti --name capturing pulkit/capturing:1.0

скрипт теперь выполняется внутри контейнер и, вероятно, выйдет по завершении.

редактировать после поиска проблемы, которая создала следующую ошибку:

"standard_init_linux.go:195: exec user process caused "exec format error"

под малиной другая архитектура pi (ARM вместо x86_64), что могло бы быть проблемой, но не было. Если бы это было проблемой, переключение родительского образа на FROM armhf/python было бы достаточно.

источник

но! Ошибка продолжалась.

таким образом, решение этой проблемы-это простой отсутствующий Sha-Bang поверх скрипта python. Первая строка в скрипте должна быть #!/usr/bin/env python и это должно решить проблема.

источник


нужно создать файла Docker в каталоге ваш скрипт в.

вы можете взять этот шаблон:

FROM python:latest

COPY scriptname.py /usr/local/share/

CMD ["scriptname.py", "-flag"]

тогда просто выполните docker build -t pulkit/scriptname:1.0 . и ваше изображение должно быть создано.

ваше изображение должно быть видно под docker images. Если вы хотите запустить его на локальном компьютере, используйте docker run.

если вы хотите загрузить его в DockerHub, вам нужно войти в DockerHub с docker login, затем загрузите изображение с docker push.