Docker – install Nextcloud

Щоб запустити Nextcloud в Docker контейнері виконайте команду:

docker run -d -p 8080:80 nextcloud

Зміна каталога з даними:

docker run -d --name nc -p 8080:80 -v /home/user/nextcloud:/var/www/html nextcloud

Docker – nginx + php-fdm7

Запуск Docker контейнера nginx + php7

docker run --name nginx -v /home/git/docker/public_html:/var/www/html:ro 
-d -p 80:8080 trafex/alpine-nginx-php7

GitHub репозиторій проекту:

https://github.com/TrafeX/docker-php-nginx

Docker – basic setup

Для встановлення Docker виконайте команду

snap install docker

Для виконання docker-команд потрібні права sudo. Саме тому створимо групу docker і добавимо поточного користувача в цю групу.

sudo groupadd docker
sudo usermod -aG docker $USER

Після даної операції вийдіть з вашого облікового запису і ввійдіть повторно. Командам docker більше не потрібна команда sudo.

Тепер розглянемо основні команди Docker:

Отримати образ “ubuntu” з центрального репозиторія:

docker pull ubuntu

Переглянути список всіх завантажених образів:

docker images

Щоб запустити завантажений образ потрібно виконати запуск віртуальної машини (контейнера) командою:

docker run -it ubuntu

Ключ -i означає інтерактивний; -t – термінал; -d – запуск в фоновому режимі

Також можна запустити певну команду з образа, наприклад переглянемо список каталогів в нашій віртуальній ubuntu. Як тільки команда закінчить свою роботу, запущений контейнер припинить свою роботу.

docker -it ubuntu ls /

Щоб переглянути список запущених контейнерів використовується команда ps, щоб переглянути список всіх контейнерів, команда ps використовується з параметром -a

docker ps
docker ps -a

Для видалення контейнера використовується команда rm після якої вказується ім’я або ID контейнера:

docker rm friendly_allen

Щоб видалити всі контейнери скористаємось командою:

docker rm $(docker ps -aq)

команда в круглих дужках поверне нам список ID всіх контейнерів, цей список передається в команду docker rm.

Аналогічним чином видалаються скачані образи, тільки замість команди rm використовується команда rmi

docker rmi ubuntu
docker rmi $(docker images -q)

Гарячі клавіші:
Ctrl+C – завершити процес
Ctrl+P -> Ctrl+Q – вийти без завершення процесу

Для того щоб, перекинути порти з реальної машини на docker контейнер використовується префікс -p <зовнішній порт>:<втутрішній порт>

Щоб дати доступ docker контейнеру до каталогу на реальній машині, використовується префікс -v <зовнішній каталог>:<внутрішній каталог в контейнері>

docker run -d --name postgress -p 5432:5432 postgress
docker run -d --name alpine -v /home/user/www:/home/virtual/www alpine

Docker – VPN сервер на Ubuntu

Встановлювати наш VPN сервер ми будемо на базі
операційної системи Ubuntu 18.04 LTS.

Спочатку створюємо SSH ключі. В MacOS і Linux скористаємося командою:

ssh-keygen

В Windows це можна зробити в програмі PuTTY. Після цього завантажуємо на сервер ключ.

id_rsa.pub

Далі підключаємося до нашого сервера командою:

ssh [email protected]

Якщо підключення пройшло успішно, Ви побачите
таке повідомлення:

Після того, як ми успішно підключилися давайте обновимо нашу систему, для цього виконайте послідовно
наступні команди:

sudo apt-get update
sudo apt-get updrade

Далі встановимо Docker:

snap install docker

Тепер приступимо до встановлення самого VPN сервера. За основу візьмемо рішення від jpetazzo/dockvpn. Виконаємо по черзі наступні 2 команди:

CID=$(docker run -d --privileged -p 1194:1194/udp 
-p 443:443/tcp jpetazzo/dockvpn)
docker run -t -i -p 8080:8080 --volumes-from $CID 
jpetazzo/dockvpn serveconfig

Після цього перейдіть по посиланню, яке Ви побачите в консолі. В нас зразу ж почнеться скачування файла. Скачайте його і перейменуйте в vpn.ovpn. Це є конфігураційний файл для підключення до нашого VPN сервера.

Наш VPN сервер запущений, і готовий до роботи. Для перевірки його роботи виконайте команду:

docker ps

Щоб підключитися до VPN сервера в Linux виконайте команду:

sudo openvpn --config vpn.ovpn

В MacOS можна скористатися командою TunnelBlick.

В Windows скористайтеся програмою OpenVPN