diff --git a/guides/docker-install.html b/guides/docker-install.html new file mode 100644 index 0000000..ad4f07c --- /dev/null +++ b/guides/docker-install.html @@ -0,0 +1,119 @@ + + + + + + + + + + + + + Docker Install (inc. Portainer) + + + +
+ Jump directly to main content +

Docker Install (inc. Portainer)

+ + +
+ +
+
+ +
+
+

Docker's pretty cool. Containers are a simple way to, well containerise applications. They're essentially a virtual machine with less overhead.

+

This guide assumes you have a debian install, either physical or a VM (I recommend a VM).

+ +

Installing Docker

+

The following is the script I use for my docker installations. Copy/Paste or throw into a file and execute it.

+ +
sudo apt-get install ca-certificates curl gnupg
+
+sudo install -m 0755 -d /etc/apt/keyrings 
+  curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
+
+sudo chmod a+r /etc/apt/keyrings/docker.gpg
+
+echo \
+  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
+  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
+  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+
+sudo apt-get update
+
+sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
+ +

This will download add the required keyring, download the correct docker version for your PCs arhitecture, and the sources, and download the required packages.

+

With this docker is now installed and ready to go!

+ +

Installing your first container, Portainer

+

Portainer is a web-GUI for managing docker containers, so I figure it's a good place to start.

+ +

Docker Run

+

Not recommended. Use compose.

+
docker run -d \
+-p 9443:9443 \
+--name portainer \
+--restart unless-stopped \
+-v data:/data \
+-v /var/run/docker.sock:/var/run/docker.sock \
+portainer/portainer-ce:latest
+ +

Docker Compose

+

My preferred way of setting up, and running containers. It makes it more managable, and easier to follow. + There are a few more 'steps' here, but that's more-so for managing the containers than a requirement.

+ +

First off we'll create a 'docker' directory, with a 'portainer' directory within it in our home directory.

+
mkdir -p ~/docker/portainer && cd ~/docker/portainer && touch docker-compose.yml
+ +

Next from within the portainer directory, open up/create docker-compose.yml. + Use your preferred text editor here, I like vim, so I'll be using it in the snippet.

+ +

Paste the following into the file, and save it.

+
services:
+  portainer:
+    image: portainer/portainer-ce:latest
+    container_name: portainer
+    restart: unless-stopped
+    security_opt:
+      - no-new-privileges:true
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /var/run/docker.sock:/var/run/docker.sock:ro
+      - ./data:/data
+    ports:
+      - 9443:9443
+ +

Next we'll run docker compose, which will do as the run command did, pulling the container (if not already done so), and running it.

+ +
sudo docker compose up -d
+ +

Accessing Portainer

+

Once this has been run successfully you should be able to access portainer using the IP of the docker host, or localhost (if running docker on the same PC).

+ +

https://localhost:9443

+

https://192.168.0.100:9443

+

+ +
+
+ + + + + diff --git a/guides/index.html b/guides/index.html index 17701e4..c970de1 100644 --- a/guides/index.html +++ b/guides/index.html @@ -40,6 +40,7 @@

2024

2022