Creating a data service within Docker

Intermediate Docker

Mike Metzger

Data Engineering Consultant

Data sharing

  • docker run -v <host directory>:<container directory>
    • -v ~/hostdata:/containerdata
Intermediate Docker

Data sharing in compose.yaml

  • Also present in compose.yaml files
services:
  resource:
    name: resource1

    # Section named volumes
    volumes:

- <host directory>:<container directory> # Such as: - ~/hostdata:/containerdata
Intermediate Docker

Networks

  • docker run --network <networkname>

    • docker run --network net1
  • In compose.yaml resources

services:
  resource:
    name: resource1

    networks:

network_name: # Such as: net1:
Intermediate Docker

Port mapping

  • docker run -p hostport:containerport
    • -p 8000:8000
  • Available in compose.yaml resources
services:
  resource:
    name: resource1

    ports:

- hostport:containerport # Such as: - 8000:8000
Intermediate Docker

docker inspect

  • Determine information about provisioned containers
    • docker inspect <id / name>
  • Provides various levels of information
    • Mounts: Provides mounted data information
    • NetworkSettings: Network information
      • NetworkSettings:Networks: Shows the Docker network(s) connection details
    "Config": {
       "Mounts": [...]
       ...
       "Networks": {
                "network1": {
        ...
Intermediate Docker

Data service

Data Service - Server.png

Intermediate Docker

Data service

Data Service - Client.png

Intermediate Docker

Data service

Data Service - Full.png

Intermediate Docker

Let's practice!

Intermediate Docker

Preparing Video For Download...