Найти в Дзене

36 Развертывание приложений в Docker (Развертывание Python-скрипта в Docker)

vim ~/py.py import os
def main():
working_directory = os.path.expanduser("/root")
file_path = os.path.join(working_directory, "input.txt")
if os.path.exists(file_path):
with open(file_path, "r", encoding="utf-8") as file:
content = file.read()
print(content)
else:
print("Ошибка: файл input.txt не найден в директории /root.")
if __name__ == "__main__":
main() Создаём файл и запускаем скрипт повторно: vim ~/Dockerfile FROM python:3.8-alpine
WORKDIR /root
COPY py.py .
COPY input.txt .
CMD ["python", "py.py"] sudo apt-get install -y docker-engine sudo systemctl enable --now docker.service sudo docker build -t file-copy-python . Проверяем наличие собранного образа: sudo docker run --rm file-copy-python
  • В домашней директории пользователя altlinux из под пользователя altlinux создаём файл py.py:

vim ~/py.py

  • Помещаем в него следующее содержимое:Реализуем функционал согласно требованиям задания:

import os

def main():
working_directory = os.path.expanduser("/root")
file_path = os.path.join(working_directory, "input.txt")

if os.path.exists(file_path):
with open(file_path, "r", encoding="utf-8") as file:
content = file.read()
print(content)
else:
print("Ошибка: файл input.txt не найден в директории /root.")

if __name__ == "__main__":
main()

Создаём файл и запускаем скрипт повторно:

  • В домашней директории пользователя altlinux из под пользователя altlinux создаём файл Dockerfile:

vim ~/Dockerfile

  • Помещаем в него следующее содержимое:Реализуем функционал согласно требованиям задания:

FROM python:3.8-alpine
WORKDIR /root
COPY py.py .
COPY input.txt .
CMD ["python", "py.py"]

  • Устанавливаем docker:

sudo apt-get install -y docker-engine

  • Включаем и добавляем в автозагрузку службу docker:

sudo systemctl enable --now docker.service

  • Запускаем сборку docker-образа из ранее описанного Dockerfile:Имя собранного образа в данном случае будет file-copy-python
    Запуск команды выполняется из домашнего каталога пользователя altlinux, в текущем каталоге находится сам Dockerfile, файл скрипта py.py и файл input.txt;

sudo docker build -t file-copy-python .

Проверяем наличие собранного образа:

-2
  • Запускаем docker-контейнер из собранного образа и проверяем что содержимое файла input.txt выводится на экран:

sudo docker run --rm file-copy-python