Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Docker can be installed as described in the installation notes on docker.com.

Set up the repository

  1. update apt package index and install prerequisites

Code Block
sudo apt-get update
Code Block
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. Add Docker's official GPG key

Code Block
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
  1. Add stable arm64 repository for debian10

Code Block
sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

...

Code Block
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
  1. Install Docker engine

Code Block
sudo apt-get update
Code Block
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Done - installation can be verified by running the hello world docker container:

Code Block
sudo docker run hello-world

...

This is the contents of a working docker-compose.yml file that sets up a wordpress webserver that depends on a mariadb database.

docker-compose.yml

Code Block
version: '2'
 
services:
  db:
    image: mariadb
    volumes:
      - ./data/db/:/var/lib/mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: wproot
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
 
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8080:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
    working_dir: /var/www/html
    volumes:
       - ./data/wordpress:/var/www/html/wp-content

...

Alternatively a docker-compose file can be used to deploy portainer:

docker-compose.yml

Code Block
version: '2'
 
services:
  portainer:
    image: portainer/portainer
    command: -H unix:///var/run/docker.sock
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
 
volumes:
  portainer_data:

The portainer UI will be available at http://localhost:9000.

  1. Docker Hub

  2. Docker Commands

  3. Compose file references