Уведомления

Группа в Telegram: @pythonsu

#1 Июль 25, 2018 22:34:57

ford1813
Зарегистрирован: 2018-07-22
Сообщения: 6
Репутация: +  1  -
Профиль   Отправить e-mail  

Docker get_archive

Всем привет, кто подскажет что я делаю не так?
Пытаюсь получить файл с Докер контейнера.
Файл состоит из 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.
Прошу прощения если вопрос нубский.

Отредактировано ford1813 (Июль 25, 2018 22:36:58)

Офлайн

#2 Июль 26, 2018 00:24:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Docker get_archive

Офлайн

#3 Июль 26, 2018 01:26:23

ford1813
Зарегистрирован: 2018-07-22
Сообщения: 6
Репутация: +  1  -
Профиль   Отправить e-mail  

Docker get_archive

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.

Отредактировано ford1813 (Июль 26, 2018 01:31:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version