Welcome!

Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

Sign up

This question has been flagged
81 Views

Reference

In this post, I show you how to run Docker in your Linux Containers (LXC), allowing you to save on resource requirements typically required by a VM.

6 months ago  •  3 min read


By 








0xBENTable of contents



  1. Why Docker on a Linux Container?
  2. Preparing Proxmox
    1.  
  3. Create a Linux Container and Test Functionality
    1. Create the Linux Container
      1.  
    2. Configure and Test Docker
      1. Install and Configure FUSE OverlayFS on the Linux Container
      2. Install Docker Engine on the Linux Container
  4. References
Why Docker on a Linux Container?

Simply put – saving resources. Proxmox official support would always recommend that you run Docker in VMs, but the disadvantage to that is that VMs require more resources from the hypervisor. Running Docker in a Linux Container (LXC) will allow you to run Docker at a fraction of the resource requirements with much faster boot speeds.


ℹ️Any time you want to run Docker on a Linux Container, simply repeat the steps as documented here.✔️Using ZFS?


These steps were tested on a Proxmox node configured with ZFS and no observable issues could be detected.





Preparing Proxmox
Ensure FUSE OverlayFS is Installed on the Hypervisor
apt clean && apt update
apt install -y fuse-overlayfs

Copy

Create a Linux Container and Test Functionality
Create the Linux Container

Right click your node and click ‘Create CT’


Ensure the container is unprivileged and nesting is enabled


Choose your container template

Add a disk, size according to your needs

Allocate cores according to your needs

Allocate RAM according to your needs

Set 

your NIC parameters according to your environment

am using my internal domain and DNS server for this VLAN

Click finish to create the container



Change a Few Container Options

Click on your containerClick ‘Options



Double-click ‘Features’Enable ‘keyctl’, ‘Nesting’, and ‘FUSE’

You may now start the container.





Configure and Test Docker
Install and Configure FUSE OverlayFS on the Linux Container
apt clean && apt update
apt install -y fuse-overlayfs
ln -s /usr/bin/fuse-overlayfs /usr/local/bin/fuse-overlayfs

Copy



Install Docker Engine on the Linux Container

Since the image I am using is Debian 11, we can follow the official Docker Engine installation instructions for Debian.

Install Docker Engine on DebianInstructions for installing Docker Engine on DebianDocker Documentation

 

# Ensure pre-requisites are installed
apt install -y ca-certificates curl gnupg lsb-release

# Add Docker GPG key
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Add Docker apt repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

# Update sources and install Docker Engine
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose docker-compose-plugin

# Test for successful installation
docker run hello-world

Copy




Avatar
Discard