Crop
Goal¶
Create a container and run the crop step in the container image tagged and built in the previous step.
Lab¶
This step has a dedicated lab at practice-labs/2-Containers/crop.ipynb.
Container¶
Each step has its own recipe to build the container image.
The crop step container image recipe is:
Build the container image with:
| terminal | |
|---|---|
How to run a step in a container¶
We'll use podman container engine (docker is also fine).
The command to run the crop step in the container is:
Let's break down what this command does:
podman run: This is the command to run a container.-i: This flag makes the container interactive, allowing you to interact with it via the terminal.--userns=keep-id: It instructspodmanto keep the user namespace ID.--mount=type=bind,source=/workspace/mastering-app-package/runs,target=/runs: This option mounts a directory from the host system to the container. In this case, it mounts the/workspace/mastering-app-package/runsdirectory on the host to the /runs directory inside the container.--workdir=/runs: Sets the working directory inside the container to/runs.--read-only=true: Makes the file system inside the container read-only, meaning you can't write or modify files inside the container.--user="$(id -u):$(id -g)": Specifies the user and group IDs to be used within the container.--rm: This flag tells podman to remove the container after it has finished running.--env=HOME=/runs: Sets theHOMEenvironment variable inside the container to/runs.localhost/crop:latest: This is the name of the container image that you want to run. It's pulling the image from the local container registry with the name "crop" and the "latest" tag.crop: Runs the installed console command.--aoi "-121.399,39.834,-120.74,40.472": This provides command-line arguments to the Python module. It specifies the area of interest (AOI) as a bounding box.--band green: Specifies the band to be extracted from the Sentinel-2 acquisition. In this case, it's the "green" band.--epsg "4326": Specifies the EPSG code, which defines the coordinate system used for theaoicommand-line argument.--input-item ...: Specifies the input STAC item URL. This particular URL points to a Sentinel-2 image hosted on AWS Earth Search.
Steps¶
Clean-up the /workspace/mastering-app-package/runs folder:
Run the command to run the crop step with the green band in the container with:
Run the command to run the crop step with the nir band in the container with:
Expected outcome¶
The folder /workspace/mastering-app-package/runs contains: