Introduction¶
Why Use Docker for Geospatial Programming?¶
Learning Objectives¶
Installing Docker Desktop¶
Windows and macOS¶
Linux¶
Verifying Installation¶
Basic Concepts¶
Images vs. Containers¶
Key Docker Terms¶
Running Code Examples in Docker¶
docker pull giswqs/pygis:book
docker run -it -p 8888:8888 -v $(pwd):/app/workspace giswqs/pygis:book
Working with Files¶
Stopping a Container¶
Listing Running Containers¶
Common Docker Commands¶
Basic Operations¶
# Pull an image from Docker Hub
docker pull giswqs/pygis:book
# List downloaded images
docker images
# List running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Stop a container
docker stop container_name
# Remove a container
docker rm container_name
# Remove an image
docker rmi image_name
Getting Help¶
# Get help for any Docker command
docker help
docker run --help
Choosing Port Numbers¶
# Use port 8889 instead
docker run -it -p 8889:8888 -v $(pwd):/app/workspace giswqs/pygis:book
Saving Your Work¶
Key Takeaways¶
Exercises¶
Exercise 1: First Docker Run¶
docker run -it -p 8888:8888 -v $(pwd):/home/jovyan/work ghcr.io/opengeos/leafmap:latest
Exercise 2: Exploring the Environment¶
import geopandas as gpd
import rasterio
import leafmap
print("All libraries imported successfully!")
import leafmap.maplibregl as leafmap
m = leafmap.Map(projection="globe")
m
Exercise 3: Working with Different Ports¶
Exercise 4: Docker Commands Practice¶