Installing Docker

Docker is a service that allows you to quickly host containerized applications tailored for your hardware.

Running the Install Script

Docker provides a convenient script for quickly installing their software and getting it ready. 

You can find the official Docker installation guide on their website.

 

Preparation

First, we need to open our terminal to install a small application called curl that can be used to download files through the terminal.

Enter this command and hit enter to automatically install the curl software:

sudo apt-get install -y curl

You will be prompted to enter your password.

image.png

image.png

 

Installation

Now, enter the following command to use curl to download the script that installs Docker and it's dependencies:

curl -fsSL https://get.docker.com -o get-docker.sh

image.png

Once the download is complete, you can enter this command to run the script we just downloaded:

sh get-docker.sh

image.png

The Docker setup process should proceed automatically and prompt you about further actions once it's finished.  We do not need to follow these additional instructions.

image.png

We have successfully installed the Docker Container Engine on our server.

Graphic Card Integration

Graphic cards handle images and videos much more efficiently than a traditional processor.  While using Docker, some media services – such as Plex, Jellyfin or Stash – will run much more efficiently if they have direct access to your graphics card.

This process is different depending on the manufacturer of your graphics card.

AMD/ATI

You will need to install the ROCm software in order to use your graphics card within Docker.  The process for installing ROCm on Debian is detailed in their documentation. 

Once installed, the graphics card can be attached to Docker containers.

Intel

Integrated graphics, like those in modern Intel processors, are innately available to Docker containers by providing access.

Nvidia

You will need to install the Nvidia Container Toolkit in order to use your graphics card with Docker containers. 

This requires that the proprietary Nvidia drivers are installed and working correctly.

The process for installing the required software is detailed in their documentation.  Once installed, the graphics card can be attached to Docker containers.

Creating Your First Container

We will be installing Portainer, an open-source web application that makes it easy to manage Docker from your browser.

Capture9.PNG

Starting Portainer

We are adding port 9000 which isn't used by default.  This allows Portainer to be accessed through HTTP instead of HTTPS.

You can find the official Portainer installation guide on their website.

Using the terminal, we will issue the command to start our new Docker container:

sudo docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /srv/portainer:/data portainer/portainer-ce

Docker will download the image and start the container. 

image.pngOnce the command has finished, we can verify that Portainer is operational by querying Docker's running containers:

sudo docker ps

image.png

The command should return our running Portainer container and show that it's available under four different ports.  

Creating an Admin Account

In order to configure our instance of Portainer, we will need to open a web browser.  

We recommend Mozilla Firefox, but Google Chrome will also work. 

Once the web browser is open, go to http://localhost:9000/ to load Portainer. 

Capture.PNG

Here, we are instructed to create an administrator account and set a secure password.  This will be used in the future to login to Portainer.

The account creation wizard will time-out if not completed quickly.
If this happens, restart Portainer with the command: docker restart portainer.

Capture2.PNG

Adding Docker

Once we have created an account, we will be able to select our Docker service.  If everything is working as expected, you should be able to click 'Get Started' to use the local Docker service.

Capture3.PNG

This will bring you to a list of Docker installations that are available to Portainer. 

You can use the Portainer Agent to control Docker on additional servers.

Capture4.PNG

Now, we can configure the name of our Docker server, for personal preference, as well as set the root IP address of our server so we can quickly access our services from Portainer.  Select the pencil icon next to your "local" Environment. 

Capture7.PNG

If you are unsure about the LAN IP address we selected earlier, you can run the command below to obtain it:

ip -o route show | grep default

image.png

Once you have completed that, you can save the settings to apply them.  When returning to the home screen, we can see that our settings were updated.

Capture8.PNG

Clicking on our Docker environment – named "Home Server" here – will pull up a list of our running containers.  You can see the first and only one listed is our newly created Portainer installation. 

Capture9.PNG

Clicking on "8000:8000" under assigned ports will open this port using your web browser.  In this instance, it should open Portainer in a new tab.

Capture8.PNG