In this article, we will:
At this stage, you should be able to navigate to your cockpit web interface by visiting https://(your-ip):9090
. We are using the root account with the password you set.
if you are using Fedora Workstation, you may need to install cockpit first through the software store and enable the service. Cockpit provides a web interface for administrating your server.
Once you log in, you should be presented with a dashboard! We love dashboards.
In a production environment, you typically do not use a root (superadmin) account. You typically don’t use local authentication at all, instead authenticating with a centralized user system. However, in a single user environment the user delegation doesn’t make a large difference and we will stick to administration with root.
From the above, you might be able to surmise this is a hyper-v VM.
Navigate to software updates and update your software. Always a good idea when working with a fresh install. Also enable automatic software updates if you’re feeling adventerous. Reboot afterwards.
Once rebooted, let’s navigate to the terminal section in cockpit. Let’s install some software! You can install Docker (well, technically docker’s upstream moby), Docker-Compose, Micro, and Midnight Commander with the following:
dnf install -y docker docker-compose micro mc && systemctl enable docker --now
You can paste in the cockpit terminal with control+shift+v
Let’s also set up micro for our default text editor. Paste the following in the terminal to set our profile defaults
micro is a command-line based text editor that supports modern editor features, similar to VSCode or Notepad++. Micro also uses sane keyboard shortcuts (such as control+c to copy or control+q to quit). You can even use the mouse inside the console! Midnight commander is a command line based file explorer, also with mouse support (launched with mc
).
#!/bin/bash
#create the config folder for the micro text editor
mkdir -p ~/.config/micro
#set default tabs to use spaces instead, and use 2 spaces instead of 4
echo '{"tabstospaces": true, "tabsize": 2, "clipboard": "internal"}' > ~/.config/micro/settings.json
#set micro to be the default editor on login, and also in the current session
echo 'export EDITOR=micro' >> ~/.bashrc
echo 'export MC_SKIN=nicedark' >> ~/.bashrc
export EDITOR=micro
export MC_SKIN=nicedark
Alrighty, we are now in a position to run our first docker program! The easiest container to run out of the box is a static webserver like nginx or caddy. Let’s run a server now.
docker run -p 80:80 caddy:latest
Navigate to http://(your-ip)
and you should have a running webserver!
docker is running this container inside the terminal we have open in cockpit. This is referred to as running a program in the foreground. You can exit out of the server (closing it in the process) with control+c
We have a basic docker installation up and running. We’re not going to go into how to use docker completely: there are lots of tutorials on everything docker can do. Instead, we will jump right into the first several problems to solve:
Let’s start on that now with Designing our Workspace