Найти - Пользователи
Полная версия: Docker get_archive
Начало » Python для новичков » Docker get_archive
1
ford1813
Всем привет, кто подскажет что я делаю не так?
Пытаюсь получить файл с Докер контейнера.
Файл состоит из 3-х строк.
Но на выходе получаю файл с непонятными символами.

Файл должен получить в таком виде:

cat /1.txt
123
456
789
0

А получаю в таком:
cat 1.txt
b'1.txt\x00\x00\x00\x00 и длинный аналогичный хвост.

 import docker
client = docker.from_env()
ss = client.containers.get('ss')
strm, stat = ss.get_archive('/1.txt',None)
with open('1.txt', 'w') as outfile:
    for d in strm:
        outfile.write(str(d))

Если писать файл с флагом b = то на выходе:
1.txt0100644000000000000000000000001613326040551010142 0ustar0000000000000000123
Использую python3.
Прошу прощения если вопрос нубский.
py.user.next
https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.get_archive

Он возвращает tar-архив, а не сам файл.
ford1813
py.user.next
https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.get_archiveОн возвращает tar-архив, а не сам файл.
Спасибо, но я думал и файл тоже возвращает.
Ведь там же написано Retrieve a file or folder from the container in the form of a tar archive.
аххх прошу прощения, не дочитал конец строки, спасибо!!! Проглядел in the form of a tar archive.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB