Skip to content

Files

Latest commit

c7604f6 · Aug 19, 2022

History

History
 
 

docker-tutorial

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 19, 2022

How to use Docker and migrate your existing Apps to your Linux Server?

How to use Docker and migrate your existing Apps? We will cover all the cool advantages of containerization, and how to easily migrate and manage your existing services and apps into Docker Containers on your Linux Server!

We will use the free and open-source software Docker.

Project Homepage: https://www.docker.com/ Documentation: https://docs.docker.com/

Video: https://youtu.be/y0GGQ2F2tvs

Prerequisites

  • Linux Server running Ubuntu 20.04 LTS or newer

You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!

1. Install Docker, and Docker-Compose

You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!

1.1. Install Docker

sudo apt update

sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt update

sudo apt-get install docker-ce docker-ce-cli containerd.io

1.2. Check if Docker is installed correctly

sudo docker run hello-world

1.3. Install Docker-Compose

Download the latest version (in this case it is 1.25.5, this may change whenever you read this tutorial!)

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

1.4. Check if Docker-Compose is installed correctly

sudo docker-compose --version

1.5. (optional) Add your linux user to the docker group

sudo usermod -aG docker $USER

2. Docker Basics

2.1. Run a Docker Container

docker run hello-world

2.2. How to find Docker Images?

To get new applications, just visit the official Docker Hub. Because most vendors and communities maintain their own images, you will find Images for many applications there.

2.3. Expose Ports

Run a simple NGINX webserver.

docker run -p 80:80 -d nginx

2.4. Persistent Volumes

docker run -p 80:80 -v nginx_data:/var/www/html -d nginx

2.5. Migrate static files to a Docker Volume

Migrate a NGINX webserver to Docker.

sudo systemctl stop nginx

sudo systemctl disable nginx

docker run -p 80:80 -v /var/www/html:/var/www/html -d nginx

2.6. Migrate databases to a Docker Volume

Migrate a MySQL Server to Docker.

sudo systemctl stop mysql-server

sudo systemctl disable mysql-server

docker run -v /var/lib/mysql:/var/lib/mysql -d mysql

3. Set up Portainer

3.1. Create a new Docker Volume

docker volume create portainer_data

3.2. Launch Portainer

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