Я пытаюсь смонтировать файл с параметром bind
в контейнер, но он работает очень нестабильно.
В следующем примере создается файл, монтируется в контейнер и печатается содержимое этого файла. .
import docker
import docker.types
import tempfile
def foo():
temp_dir = tempfile.TemporaryDirectory()
file_path = temp_dir.name + "/file.txt"
with open(file_path, "w") as f:
f.write("Hello")
docker_client = docker.DockerClient()
output = docker_client.containers.run(
image="alpine",
mounts=[
docker.types.Mount("/file.txt", file_path, type="bind")
],
command="cat /file.txt"
)
print(output)
for _ in range(10):
foo()
Вот результаты выполнения:
b''
b'Hello'
b''
b''
b''
b''
b'Hello'
b'Hello'
b'Hello'
b'Hello'
Это случайное поведение действительно смущает меня. Я пробовал разные варианты, но все еще дает те же результаты.
что я делаю не так?
Заранее спасибо.
UPD:
Чтобы быть более понятным, я должен сказать, что я попробовал:
consistensy="consistent"
вариант. - грипп sh файл и сон после того, как в него были записаны данные.