7. Using Docker#
7.1. Introduction#
7.1.1. Why Use Docker for Geospatial Programming?#
7.2. Learning Objectives#
7.3. Installing Docker Desktop#
7.3.1. Windows and macOS#
7.3.2. Linux#
7.3.3. Verifying Installation#
docker --version
7.4. Basic Concepts#
7.4.1. Images vs. Containers#
7.4.2. Key Docker Terms#
7.5. Running Code Examples in Docker#
docker pull giswqs/pygis:book
docker run -it -p 8888:8888 -v $(pwd):/app/workspace giswqs/pygis:book
7.5.1. Working with Files#
7.5.2. Stopping a Container#
7.5.3. Listing Running Containers#
docker ps
7.6. Common Docker Commands#
7.6.1. 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
7.6.2. Getting Help#
# Get help for any Docker command
docker help
docker run --help
7.6.3. Choosing Port Numbers#
# Use port 8889 instead
docker run -it -p 8889:8888 -v $(pwd):/app/workspace giswqs/pygis:book
7.6.4. Saving Your Work#
7.7. Key Takeaways#
7.8. Exercises#
7.8.1. Exercise 1: First Docker Run#
docker run -it -p 8888:8888 -v $(pwd):/home/jovyan/work ghcr.io/opengeos/leafmap:latest
7.8.2. 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