async def test_build_from_tar(docker, random_name, image_name): name = "{}:latest".format(random_name()) dockerfile = f""" # Shared Volume FROM {image_name} """ f = BytesIO(dockerfile.encode("utf-8")) tar_obj = utils.mktar_from_dockerfile(f) await docker.images.build(fileobj=tar_obj, encoding="gzip", tag=name) tar_obj.close() image = await docker.images.inspect(name=name) assert image
async def test_build_from_tar(docker, random_name): name = "{}:latest".format(random_name()) dockerfile = ''' # Shared Volume FROM alpine:latest VOLUME /data CMD ["/bin/sh"] ''' f = BytesIO(dockerfile.encode('utf-8')) tar_obj = utils.mktar_from_dockerfile(f) await docker.images.build(fileobj=tar_obj, encoding="gzip", tag=name) tar_obj.close() image = await docker.images.get(name=name) assert image
async def test_build_from_tar(docker, random_name): name = "{}:latest".format(random_name()) dockerfile = """ # Shared Volume FROM alpine:latest VOLUME /data CMD ["/bin/sh"] """ f = BytesIO(dockerfile.encode("utf-8")) tar_obj = utils.mktar_from_dockerfile(f) await docker.images.build(fileobj=tar_obj, encoding="gzip", tag=name) tar_obj.close() image = await docker.images.inspect(name=name) assert image
async def test_build_from_tar(docker): dockerfile = ''' # Shared Volume FROM busybox:buildroot-2014.02 VOLUME /data CMD ["/bin/sh"] ''' f = BytesIO(dockerfile.encode('utf-8')) tar_obj = utils.mktar_from_dockerfile(f) await docker.images.build(fileobj=tar_obj, encoding="gzip", tag="fromtar/image:1.0") tar_obj.close() image = await docker.images.get(name="fromtar/image:1.0") assert image
async def test_build_from_tar_stream(docker, random_name): name = "{}:latest".format(random_name()) dockerfile = """ # Shared Volume FROM python:latest """ f = BytesIO(dockerfile.encode("utf-8")) tar_obj = utils.mktar_from_dockerfile(f) async for item in docker.images.build( fileobj=tar_obj, encoding="gzip", tag=name, stream=True ): pass tar_obj.close() image = await docker.images.inspect(name=name) assert image
async def _create_base_image(labels, tag): dockerfile = """ FROM alpine CMD while true; do sleep 10; done """ f = BytesIO(dockerfile.encode("utf-8")) tar_obj = utils.mktar_from_dockerfile(f) # build docker base image docker = Docker() base_docker_image = await docker.images.build(fileobj=tar_obj, encoding="gzip", rm=True, labels=labels, tag=tag) await docker.close() return base_docker_image[0]