Added Wiki for all the docs from Egor
This commit is contained in:
parent
741584446c
commit
e9058bb2cb
5 changed files with 1065 additions and 0 deletions
247
zzzEgor/Docker/Wireguard.md
Normal file
247
zzzEgor/Docker/Wireguard.md
Normal file
|
@ -0,0 +1,247 @@
|
|||
# Install Docker-ce
|
||||
|
||||
How do I install Docker CE on Debian 11/10?, How can I install Docker Compose on Debian 11/10 Linux system?. In this guide, I'll discuss a step by step installation of Docker and Docker Compose on Debian 11/10.
|
||||
|
||||
Docker is the most popular and widely used container runtime. It enables you to package and run your applications in isolated containers in a single server or cluster of Linux servers orchestrated by Kubernetes and similar tools.
|
||||
|
||||
## Docker Editions
|
||||
|
||||
There are two editions of Docker available.
|
||||
|
||||
- **Community Edition (CE)**: ideal for individual developers and small teams looking to get started with Docker and experimenting with container-based apps.
|
||||
- **Enterprise Edition (EE)**: Designed for enterprise development and IT teams who build, ship, and run business-critical applications in production at scale.
|
||||
|
||||
This guide will cover installation of Docker CE on Debian 10 / Debian 11 Linux. But let's first look at common docker terminologies.
|
||||
|
||||
## Docker Components / Terminologies
|
||||
|
||||
Below are commonly used terminologies in Docker ecosystem.
|
||||
|
||||
- **Docker daemon**: This is also called Docker Engine, it is a background process which runs on the host system responsible for building and running of containers.
|
||||
- **Docker Client**: This is a command line tool used by the user to interact with the Docker daemon.
|
||||
- **Docker Image**: An image is an immutable file that's essentially a snapshot of a container. A docker image has a file system and application dependencies required for running applications.
|
||||
- **Docker container**: This is a running instance of a docker image with an application and its dependencies. Each container has a unique process ID and isolated from other containers. The only thing containers share is the Kernel.
|
||||
- **Docker registry**: This is an application responsible for managing storage and delivery of Docker container images. It can be private or public.
|
||||
|
||||
# Install Docker CE on Debian 11 (Bullseye) / Debian 10 (Buster)
|
||||
|
||||
Follow the steps covered in the next parts of this article to install and use Docker CE on Debian 11/10.
|
||||
|
||||
## Step 1: Install Dependency packages
|
||||
|
||||
Start the installation by ensuring that all the packages used by docker as dependencies are installed.
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
||||
```
|
||||
|
||||
## Step 2: Add Docker's official GPG key:
|
||||
|
||||
Import Docker GPG key used for signing Docker packages.
|
||||
|
||||
```
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
|
||||
```
|
||||
|
||||
## Step 3: Add the Docker repository to Debian 10 / Debian 11
|
||||
|
||||
Add Docker repository which contain the latest stable releases of Docker CE.
|
||||
|
||||
```
|
||||
sudo add-apt-repository\
|
||||
"deb [arch=amd64] https://download.docker.com/linux/debian\
|
||||
$(lsb_release -cs)\
|
||||
stable"
|
||||
```
|
||||
|
||||
This command will add the line shown in `/etc/apt/sources.list` file.
|
||||
|
||||
## Step 4: Install Docker & Docker Compose on Debian 11/10
|
||||
|
||||
Update the `apt` package index.
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
To install Docker CE on Debian, run the command:
|
||||
|
||||
```
|
||||
sudo apt install docker-ce docker-ce-cli containerd.io -y
|
||||
```
|
||||
|
||||
Start and enable docker service:
|
||||
|
||||
```
|
||||
sudo systemctl enable --now docker
|
||||
```
|
||||
|
||||
This installation will add `docker` group to the system without any users. Add your user account to the group to run docker commands as non-privileged user.
|
||||
|
||||
```
|
||||
sudo usermod -aG docker $USER
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
Check docker and compose version.
|
||||
|
||||
```
|
||||
$ docker version
|
||||
Client: Docker Engine - Community
|
||||
Version: 20.10.17
|
||||
API version: 1.41
|
||||
Go version: go1.17.11
|
||||
Git commit: 100c701
|
||||
Built: Mon Jun 6 23:03:17 2022
|
||||
OS/Arch: linux/amd64
|
||||
Context: default
|
||||
Experimental: true
|
||||
|
||||
Server: Docker Engine - Community
|
||||
Engine:
|
||||
Version: 20.10.17
|
||||
API version: 1.41 (minimum version 1.12)
|
||||
Go version: go1.17.11
|
||||
Git commit: a89b842
|
||||
Built: Mon Jun 6 23:01:23 2022
|
||||
OS/Arch: linux/amd64
|
||||
Experimental: false
|
||||
containerd:
|
||||
Version: 1.6.6
|
||||
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
|
||||
runc:
|
||||
Version: 1.1.2
|
||||
GitCommit: v1.1.2-0-ga916309
|
||||
docker-init:
|
||||
Version: 0.19.0
|
||||
GitCommit: de40ad0
|
||||
```
|
||||
|
||||
Log out and log back in so that your group membership is re-evaluated.
|
||||
|
||||
```
|
||||
exit
|
||||
```
|
||||
|
||||
### Install Docker Compose on Debian
|
||||
|
||||
Use the guide below to install latest Docker Compose on Debian 10 / Debian 11
|
||||
|
||||
- [How To Install Latest Docker Compose on Linux](https://computingforgeeks.com/how-to-install-latest-docker-compose-on-linux/)
|
||||
|
||||
## Step 5: Test Docker installation
|
||||
|
||||
Run a test docker container:
|
||||
|
||||
```
|
||||
$ docker run --rm -it --name test alpine:latest /bin/sh
|
||||
latest: Pulling from library/alpine
|
||||
2408cc74d12b: Pull complete
|
||||
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
|
||||
Status: Downloaded newer image for alpine:latest
|
||||
|
||||
/ # cat /etc/os-release
|
||||
NAME="Alpine Linux"
|
||||
ID=alpine
|
||||
VERSION_ID=3.16.0
|
||||
PRETTY_NAME="Alpine Linux v3.16"
|
||||
HOME_URL="https://alpinelinux.org/"
|
||||
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
|
||||
|
||||
/ # exit
|
||||
```
|
||||
|
||||
## Step 6: Test Docker Compose installation.
|
||||
|
||||
Create a test Docker Compose file.
|
||||
|
||||
```
|
||||
vim docker-compose.yml
|
||||
```
|
||||
|
||||
Add below data to the file.
|
||||
|
||||
```
|
||||
version: '3'
|
||||
services:
|
||||
web:
|
||||
image: nginx:latest
|
||||
ports:
|
||||
- "8080:80"
|
||||
links:
|
||||
- php
|
||||
php:
|
||||
image: php:7-fpm
|
||||
```
|
||||
|
||||
Start service containers.
|
||||
|
||||
```
|
||||
$ docker-compose up -d
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||

|
||||
|
||||
Show running Containers
|
||||
|
||||
```
|
||||
$ docker-compose ps
|
||||
```
|
||||
|
||||
Destroy containers
|
||||
|
||||
````
|
||||
$ docker-compose stop
|
||||
$ docker-compose rm
|
||||
Going to remove vagrant_web_1, vagrant_php_1
|
||||
Are you sure? [yN] y
|
||||
Removing vagrant_web_1 ... done
|
||||
Removing vagrant_php_1 ... done
|
||||
```wg-easy
|
||||
-------
|
||||
|
||||
> [!INFO] You can try it after the successful installation of docker
|
||||
|
||||
````
|
||||
|
||||
docker run -d\
|
||||
--name=wg-easy\
|
||||
-e WG*HOST=***89.43.107.97**_\
|
||||
-e PASSWORD= _**DeinPasswort**\_\
|
||||
-v ~/.wg-easy:/etc/wireguard\
|
||||
-p 51820:51820/udp\
|
||||
-p 51821:51821/tcp\
|
||||
--cap-add=NET_ADMIN\
|
||||
--cap-add=SYS_MODULE\
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1"\
|
||||
--sysctl="net.ipv4.ip_forward=1"\
|
||||
--restart unless-stopped\
|
||||
weejewel/wg-easy
|
||||
|
||||
```
|
||||
|
||||
You have successfully installed Docker on Debian 10 / Debian 11 Linux. Go through Official[ Docker documentation](https://docs.docker.com/) and [Docker Compose documentation](https://docs.docker.com/compose/) to learn more.
|
||||
|
||||
Setup Docker UI (Optional)
|
||||
--------------------------
|
||||
|
||||
If you need a UI management console for Docker hosts and containers, checkout Portainer.
|
||||
|
||||
- [How to Install Portainer Docker UI manager](https://computingforgeeks.com/install-docker-ui-manager-portainer/)
|
||||
|
||||
Monitoring Docker containers
|
||||
----------------------------
|
||||
|
||||
Monitoring Docker containers can be achieved by using Monitoring tools such as [Netdata, Prometheus and Grafana](https://computingforgeeks.com/category/monitoring/). Below guide should also be helpful [Check Container container metrics with Ctop.](https://computingforgeeks.com/top-command-for-container-metrics/)
|
||||
|
||||
### Best Docker Learning Courses:
|
||||
|
||||
- [Docker Mastery: with Kubernetes +Swarm from a Docker Captain](https://click.linksynergy.com/deeplink?id=2sb89XJC/EQ&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fdocker-mastery%2F)
|
||||
- [Docker for the Absolute Beginner -- Hands On -- DevOps](https://click.linksynergy.com/deeplink?id=2sb89XJC/EQ&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Flearn-docker%2F)
|
||||
- [Docker and Kubernetes: The Complete Guide](https://click.linksynergy.com/deeplink?id=2sb89XJC/EQ&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fdocker-and-kubernetes-the-complete-guide%2F)
|
||||
- [Docker -- SWARM -- Hands-on -- DevOps](https://click.linksynergy.com/deeplink?id=2sb89XJC/EQ&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Flearn-docker-advanced%2F)
|
||||
- [Docker Swarm Mastery: DevOps Style Cluster Orchestration](https://click.linksynergy.com/deeplink?id=2sb89XJC/EQ&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fdocker-swarm-mastery%2F)
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue