Docker

Apr. 29th, 2018 06:10 pm




ознакомиться
Установка Docker CE
https://download.docker.com/linux/static/stable/x86_64/

https://docs.docker.com/install/linux/docker-ce/debian/
$ sudo apt-get update
$ sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce

или

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

$ sudo usermod -aG docker your-user

Установить определенную версию Docker CE
Перечислите версии, доступные в вашем репо:
$ apt-cache madison docker-ce
$ sudo apt-get install docker-ce=

Удалить Docker CE
$ sudo apt-get purge docker-ce

Удалить все изображения, контейнеры и тома:
$ sudo rm -rf /var/lib/docker

Docker на i386-ом компьютере
https://launchpad.net/ubuntu/+source/docker.io
https://hub.docker.com/r/i386/

Running Docker containers on Bash on Windows


Установка Docker-compose
https://docs.docker.com/compose/install/

Docker-compose — пакетный менеджер (по аналогии с composer и npm, только у docker — контейнеры), позволяющий описывать необходимую структуру в одном файле (конфиге).

Для его установки нужно выполнить команду:

$ 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
$ docker-compose --version
$ sudo rm /usr/local/bin/docker-compose

pip install docker-compose
pip uninstall docker-compose


http://docker.com/
Docker Desktop
Docker Engine
https://pypi.org/project/docker-compose/
http://boot2docker.io/ docker для windows

https://podman.io/
https://distrobox.privatedns.org/
https://github.com/89luca89/distrobox


Docker EE
Docker CE

Учебник Docker
использование Docker Engine
Использование Docker

https://phpdocker.io/generator
------------------------------------------------------------------------
Docker изнутри: исчерпывающее руководство. Механизмы контейнеризации + примеры, эксперименты и реализация
Введение в систему управления виртуальными машинами docker-machine
Большая шпаргалка по Docker: как распилить монолитный проект на части
Полное практическое руководство по Docker: с нуля до кластера на AWS
Образы и контейнеры Docker в картинках
Оптимизация образов Docker
Используем Docker и не волнуемся о vendor-lock
Погружаемся в Docker: Dockerfile и коммуникация между контейнерами
OpenStack, Docker и веб-терминал, или как мы делаем интерактивные упражнения для обучения Linux
Как связать Docker-контейнеры, не заставляя приложение читать переменные окружения
Гайд по работе Docker в Python – от установки до сложных примеров
Режим без прав root
------------------------------------------------------------------------
Настройка docker в debian 11.2
Начала Docker для юнги
Понимая Docker
Что такое Docker: для чего он нужен и где используется
Полное практическое руководство по Docker: с нуля до кластера на AWS
Изучаем внутренние компоненты Docker — Объединённая файловая система
------------------------------------------------------------------------
Docker самый простой и понятный туториал. Изучаем докер, так, если бы он был игровой приставкой
------------------------------------------------------------------------
Команды для работы с докером
Cамые распространённые ошибки при работе с docker
------------------------------------------------------------------------
Знакомимся с основными возможностями Docker
Четыре класса задач, для которых Docker подходит идеально
Docker: запуск графических приложений в контейнерах
Docker. Управление образами и контейнерами
Большой Docker FAQ: отвечаем на самые важные вопросы - «Хакер»
Удаление образов, контейнеров и томов docker
Docker: retag образа
Bash – скрипт удаления образов с Docker Swarm нод
Мои шпаргалки по Docker
Как копировать изображения докеров с одного хоста на другой без репозитория?
------------------------------------------------------------------------
https://letsclearitup.com.ua/docker
Docker: работа с контейнерами
Очистка места на диске после docker
Очистка места в private docker-registry
Docker: заметки веб-разработчика. Итерация первая
Docker: заметки веб-разработчика. Итерация вторая
Docker: заметки веб-разработчика. Итерация третья
Docker: заметки веб-разработчика. Итерация четвертая
https://wiki.russianfedora.pro/index.php?title=Docker
Шпаргалка с командами Docker
------------------------------------------------------------------------
Как установить и использовать Docker в Ubuntu 16.04
Установка и настройка Docker
Docker Machine
Установка docker machine в Unix/Linux
Как создать контейнер на удалённом хосте с помощью Docker Machine
Как создать кластер Docker-контейнеров с Docker Swarm и DigitalOcean на CentOS 7
Настройка docker swarm кластера в Unix/Linux
Краткое введение в docker swarm mode
Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps
Как настроить брандмауэр Linux для Docker Swarm в CentOS 7
------------------------------------------------------------------------
Кросс-компиляция в docker. Почему бы и нет?
Уменьшение размера docker образа с spring boot приложением
https://github.com/GoogleContainerTools/jib
------------------------------------------------------------------------
Опыт разработки высоконагруженной системы в рамках HighLoad Cup
Разработка под Docker. Локальное окружение. Часть 1
Разработка под Docker. Локальное окружение. Часть 2 — Nginx+PHP+MySql+phpMyAdmin
Готовим локальную среду Docker для разработки на PHP
https://github.com/PHPtoday-ru/docker-local-conf
Как поднять сайт в Docker
Настройка веб-сервера в Docker (NGINX + PHP + MariaDB)
Используем Docker для развертывания web-приложения bitrix
Установка PostgreSQL с помощью Docker
60+ Best Docker Containers for Home Server Beginners 2023
Docker Media Server Ubuntu 22.04 with 23 Awesome Apps
https://github.com/htpcBeginner/docker-traefik
https://github.com/GhostWriters/DockSTARTer
------------------------------------------------------------------------
https://docs.docker.com/network/
Букварь построения сети Docker
Работа с сетью (Networking) в Docker
Настройка сети и связи Docker
ИСПОЛЬЗОВАНИЕ DOCKER MACVLAN СЕТЕЙ
Docker: настройка сети
docker: network
Решение конфликта IP-адресов при использовании Docker
Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux
Docker: как развернуть фуллстек-приложение и не поседеть
Вы должны перестать вручную писать Dockerfile'ы
------------------------------------------------------------------------
Создание CI/CD-цепочки и автоматизация работы с Docker
Современный стек сборки и публикации сайтов на Django
------------------------------------------------------------------------
https://docs.docker.com/build/building/base-images/
Создание собственного образа Docker
Создание собственного base-образа Docker с ОС Linux
Настройка локального репозитория для образов Docker и работа с ним
Как создать образы Docker и разместить репозиторий изображений Docker с помощью GitLab
Как оптимизировать изображения Docker для производства
------------------------------------------------------------------------
Как удалить образы, контейнеры и тома Docker
Как передавать данные между контейнером Docker и хостом
Как передавать данные между контейнерами Docker
Как организовать безопасное хранение секретов в Docker: лучшие практики
------------------------------------------------------------------------
Разработка приложений на Elixir/Phoenix с помощью Docker
------------------------------------------------------------------------
Docker-образ для раздачи Single Page Application
------------------------------------------------------------------------
Осилил запуск GUI-приложений в Docker
Можете ли вы запускать графические приложения в контейнере докеров?
Using GUI's with Docker
Subuser превращает контейнеры Docker в обычные программы Linux
https://github.com/timthelion/subuser
https://hub.docker.com/r/amanral/ubuntu-firefox/
------------------------------------------------------------------------
Nix Создание и запуск образов Docker
------------------------------------------------------------------------
Шпаргалка docker
Шпаргалка по работе с docker-compose
Шпаргалка для новичков — от GIT до Деплоя
------------------------------------------------------------------------
Справочник по Dockerfile
------------------------------------------------------------------------
bootc-контейнеры — загружаемые контейнеры, которые можно запускать не только в привычном виде qcow, vmdk и raw-образов виртуальных машин, но и прямо на Bare Metal.
Внутри контейнеров — bootc

------------------------------------------------------------------------
Linux-контейнеры в паре строчек кода
Как собрать Linux-контейнер с нуля и без Docker
------------------------------------------------------------------------
Docker hub перестал работать в России
https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images
https://gallery.ecr.aws/docker/?page=1



sudo systemctl restart docker
docker info | grep -A3 "Registry Mirrors"

образы docker
создание образов docker
uzverss docker команды



ознакомиться
с хабра
proxMox — если в одинокий разраб или небольшая конторка и вам нужно несколько виртуалочек с php/node.js + mysql/postgres

openCloud/openNebula — если вы контора побольше и у вы готовы уделить пару часов в день вашего админа для его обслуживания.

openStack — если у вас куда больше 20 серверов и 10-и админов и вы готовы взять себе еще столько же админов/разрабов чтобы они решали его проблемы либо купить услуги конторы что приготовит его для вас.


Общее
Настольная книга администратора Debian 12.2. Виртуализация

Foreman — менеджер процессов для ваших веб-приложений
https://ru.wikibooks.org/wiki/Puppet
Как стать кукловодом или Puppet для начинающих
Разбираем методы проксирования на основе HAProxy
Балансировка нагрузки с помощью HAProxy

Теория аппаратной виртуализации
Управление виртуальными машинами с помощью VirtualBox
Введение в систему управления виртуальными машинами Vagrant
Управление виртуальными машинами с помощью virsh
Управление виртуальными машинами с помощью virsh
Введение в систему управления виртуальными машинами docker-machine
https://www.bsdstore.ru/ru/about.html
Учебник Kubernetes
Использование средств автоматизации инфраструктуры на виртуальных машинах в Azure
CoreOS — Linux для минималистичных кластеров. Коротко
Разворачиваем Своё Облако в облаке. Установка CoreOS
Автоматическая установка с kickstart (uzverss установка dokuwiki centos php nginx)

Установка и настройка VMmanager 5 на Linux
------------------------------------------------------------------------
Пространства имён
Network namespace - виртуальный сетевой стек в linux
Примеры применения Linux network namespaces (netns)

работа с сетевыми интерфейсами
обзор пользовательских пространств имён Linux
user_namespaces

Глубокое погружение в Linux namespaces Часть 1
Глубокое погружение в Linux namespaces Часть 2
Глубокое погружение в Linux namespaces Часть 3
Глубокое погружение в Linux namespaces Часть 4

Методика безопасности, нейтрализующая угрозу эксплуатации уязвимости ядра linux
Для нейтрализации угрозы эксплуатации уязвимости ядра linux необходимо запретить непривилегированным пользователям создавать новые пространства имен пользователей, установив значение параметра ядра kernel.unprivileged_userns_clone равным "0". Чтобы проверить текущее значение параметра ядра необходимо выполнить команду:

sudo sysctl kernel.unprivileged_userns_clone
cat /proc/sys/kernel/unprivileged_userns_clone

Параметр ядра kernel.unprivileged_userns_clone может принимать следующие значения:
0 — в случае, когда непривилегированным пользователям запрещено создавать новые пространства имен пользователей;
1 — в случае, когда непривилегированным пользователям разрешено создавать новые пространства имен пользователей.
Для того чтобы временно (до перезагрузки системы) запретить непривилегированным пользователям создавать новые пространства имен пользователей, необходимо выполнить команду:

sudo sysctl -w kernel.unprivileged_userns_clone=0

Для того чтобы установленное значение параметра ядра сохранилось после перезагрузки, необходимо:

Добавить в файл /etc/sysctl.d/999-astra.conf следующую строку:

kernel.unprivileged_userns_clone = 0
Это можно сделать следующей командой:

echo "kernel.unprivileged_userns_clone = 0" | sudo tee -a /etc/sysctl.d/999-astra.conf
Перезагрузить параметры ядра, выполнив команду:

sudo sysctl --system

------------------------------------------------------------------------


средства конвертирования
virt-p2v
готовые образы virt-p2v для Virtuozzo virtual machine
VMware vCenter Converter Standalone
Disk2vhd

образы OS

всякие шероховатости
https://help.ubuntu.com/community/UEC/Images

CentOS 7 cloud kvm image password
https://access.redhat.com/discussions/664843

1) Переходим в /var/lib/libvirt/images/
2) sudo virt-sysprep -a Centos-7-x86_64-GenericCloud.qcow2 --root-password password:PASSW0RD --uninstall cloud-init
где PASSW0RD это пароль root
3) Создаем виртуальную машину на основе этого образа
4) Логинимся со своим паролем

либо
$ sudo apt install libguestfs-tools
# guestfish --rw -a ./CentOS-7-x86_64-GenericCloud.qcow2
><fs> run
><fs> list-filesystems
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow

root:!!:17667:0:99999:7:::
удалить !! между ::
можно вставить сгенерированный пароль
# openssl passwd -1 changeme
$1$QiSwNHrs$uID6S6qOifSNZKzfXsmQG1

отмонтировать
><fs> umount /dev/sda1
выйти
><fs> quit


сброс пароля
http://www.oldnix.org/reset-password-root-linux/

не ставится docker на ubuntu 18.04
sudo vi /etc/apt/sources.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly


витруальный сетевой интерфейс
https://uzverss.livejournal.com/87945.html

запускается витруальный сетевой интерфейс

sudo virsh net-start default

который можно погасить командой

sudo virsh net-destroy default

посмотреть запущенный вирт.сетевые интерфейсы можно командой

sudo virsh net-list


сами настройки виртуального дефолтного сетевого интерфейса находится в файле
/etc/libvirt/qemu/networks/default.xml

и представляют собой запись



можно создать свой вирт. сетевой интерфейс, со своими настройками, напр:

sudo nano /etc/libvirt/qemu/networks/def1.xml



затем

sudo virsh net-create /etc/libvirt/qemu/networks/def1.xml




Vagrant
https://www.vagrantup.com/
http://help.ubuntu.ru/wiki/vagrant
Знакомимся с инструментом Vagrant
Что такое Vagrant
Начало работы с Vagrant и зачем он вообще нужен
Vagrant. Установка и первый запуск
Установка и использование Vagrant на Debian
Vagrant and Libvirt with KVM or QEMU
Vagrant для малышей, или как на Windows легко получить настроенный сервер для разработки веб-приложений
записки по Vagrant


Qemu-KVM Proxmox oVirt

XEN
https://updates.xcp-ng.org/isos/
http://help.ubuntu.ru/wiki/xen
https://wiki.archlinux.org/index.php/Xen_(Русский)
http://xgu.ru/wiki/Xen
Xen гипервизор
Xen server своими руками. Часть первая
Xen server своими руками. Часть вторая.
Портирование собственной ОС на Xen
Установка и настройка гипервизора Xen (монитора виртуальных машин) с пробросом видеокарты в гостевую ОС (Windows)
Миграция домашнего сервера с Hyper-V на Xen Project на Debian
PT Sandbox Установка ОС и гипервизора Xen на дополнительный узел


Ganeti
http://www.ganeti.org/
http://docs.ganeti.org/ganeti/current/html/install.html
https://dsa.debian.org/howto/install-ganeti/
Управление кластером Xen с помощью Ganeti на Debian Lenny


VMware

Hyper-V
Disk2vhd
Как превратить физический сервер в ВМ на платформе Hyper-V
Переносим Windows системы из физической в виртуальную среду
P2V конвертация физического контроллера домена на базе Windows Server 2012 R2 в виртуальную машину Hyper-V Generation 2
Hyper-V перенос виртуальной машины на другой диск
Экспорт и импорт виртуальной машины Hyper-V
Индекс производительности Windows (Windows Experience Index)

https://github.com/rust-vmm/mshv
https://github.com/hyperlight-dev/hyperlight
https://github.com/cloud-hypervisor/cloud-hypervisor

uzverss powershell команды управления виртуальными машинами

Не удается подключить удаленный рабочий стол к Hyper-V Server 2012 R2
http://it-student.com.ua/windows/tips/reshenie-hyper-v-server-2012-r2-ne-rabotaet-rdp.html

Иногда с чистой установки Hyper-V 2012 Server R2 возникает проблема с удаленным подключением. Проблема заключается в следующе - система установлена, подключения к RDP разрешены, но возникает ошибка при подключении к удаленному рабочему столу.

Проблема заключается в блокировке фаерволом подключений. Для того, чтобы разрешить удаленные подключения к вашему Hyper-V серверу выполните в cmd:

cmd
powershell
Enable-NetFirewallRule

После этого, подключение должно пройти. Если этого не случилось - явно разрешите подключения:

Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"
Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP"



VirtualBox
https://www.virtualbox.org/
https://download.virtualbox.org/virtualbox/
Удаленный доступ к виртуальной машине virtualbox. Подключение к виртуальной машине
Как установить Windows 11 и Kali Linux на одну флешку
как залить образ с виртуалки на железо
https://github.com/alex5250/replace-tv-os
из .vdi мы сделаем .img образ
VBoxManage clonemedium --format RAW Debian.vdi debian.img
Гружусь с livecd, и сожму основной раздел до 10GB удаляю swap и создаю новый, перезагружаюсь lsblk -f узнаем новые UUID разделов правлю /etc/fstab, опять гружусь в livecd и корректирую размер образа
sudo truncate --size=$[(22978559+1)*512] 'debian.img'
затем подключаюсь к железке двумя флешками, загружаюсь с livecd, заливаю полученный .img с помощью dd




bhyve – The BSD Hypervisor
https://clonos.tekroutine.com/download.html
https://wiki.freebsd.org/bhyve
https://www.bsdstore.ru/ru/bhyve.html
https://www.bsdstore.ru/ru/bhyve_cbsd_howto.html
https://github.com/churchers/vm-bhyve
FreeBSD bhyve виртуализация
Bhyve virtual machines under vm-bhyve
Пчёлки в деле, или Запускаем Windows на BSD Hypervisor
MyBee — FreeBSD ОС и гипервизор bhyve как частное облако
https://myb.convectix.com/download/
https://www.bsdstore.ru/ru/about.html
Гипервизор на стероидах: FreeBSD + ZFS + cbsd


BOSH
http://bochs.sourceforge.net/
https://sourceforge.net/projects/bochs/files/bochs/


WebVM
https://github.com/leaningtech/webvm
https://leaningtech.com/webvm/
WebVM: виртуальные машины x86 без сервера в браузере


OpenNebula
OpenNebula
Строим свое собственное отказоустойчивое облако на базе OpenNebula с Ceph, MariaDB Galera Cluster и OpenvSwitch
Управление облаком на open-source софте
Колыбель облаков


ownСloud
http://help.ubuntu.ru/wiki/owncloud
OwnCloud client для Ubuntu 16.04
Установка owncloud Ubuntu 16.04
Свое облачное хранилище на основе ownCloud
Релиз ownCloud 9.0 — opensource альтернативы Dropbox и другим облачным хранилищам
Как установить OwnCloud на CentOS 7


OpenStack
Знакомство с OpenStack архитектура, функции, взаимодействия
OpenStack — разворачиваем «руками» Kilo
DevStack как инструмент
Боль и страдания Openstack


OpenVZ
https://mirrors.openvz.org/
Руководство по созданию и управлению контейнерами и виртуальными машинами на базе OpenVZ 7
https://www.altlinux.org/OpenVZ
Контейнерная виртуализация при помощи OpenVZ
Виртуализация с OpenVZ
Система виртуализации OpenVZ Часть 1.Введение
Система виртуализации OpenVZ Часть 2.Работаем с контейнерами
Установка и настройка OpenVZ на Centos 6
АйТи бубен OpenVZ


Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов. Часть первая: знакомство с Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов: практический курс. Часть первая
Как создавать образы Docker с помощью Ansible в Ubuntu 20.04
https://github.com/ZeroBot-Dot/Build-Docker-Images-with-Ansible


Kubernetes
https://kubernetes.io/
https://kubernetes.io/ru/docs/home/
https://kubernetes.io/docs/setup/minikube/
https://microk8s.io/#quick-start
Kubernetes
Учебник Kubernetes
Основы Kubernetes
Kubernetes: разбираемся с системой управления контейнерами
Быстрое введение в Kubernetes
Поднимаем кластер Kubernetes из одной ноды под Linux
Kubernetes на голом железе за 10 минут
Установка Kubernetes в Unix/Linux
Kubernetes на голом железе за 10 минут
Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s
Минимально жизнеспособный Kubernetes
Полноценный Kubernetes с нуля на Raspberry Pi
Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian)

PuppetConf 2016. Kubernetes для сисадминов. Часть 1
PuppetConf 2016. Kubernetes для сисадминов. Часть 2
PuppetConf 2016. Kubernetes для сисадминов. Часть 3

DEVOXX UK. Kubernetes в продакшене: Blue/Green deployment, автомасштабирование и автоматизация развертывания. Часть 1
DEVOXX UK. Kubernetes в продакшене: Blue/Green deployment, автомасштабирование и автоматизация развертывания. Часть 2

Как эффективнее использовать kubectl: подробное руководство


AWS и Terraform
Установка AWS CLI в Unix/Linux
Установка terraform в Unix/Linux
Работа с AWS ELB через командную строку в Unix/Linux
Работа с AWS S3 через командную строку в Unix/Linux
Работа с AWS EC2 через командную строку в Unix/Linux
Работа с AWS IAM через командную строку в Unix/Linux
Восстановить EC2 данных с AWS snapshot-а

Работа с AWS IAM и Terraform в Unix/Linux
Работа с AWS VPC и Terraform в Unix/Linux
Работа с AWS S3 и Terraform в Unix/Linux
Работа с AWS EC2 и Terraform в Unix/Linux
Работа с AWS ASG(auto scaling group) и Terraform в Unix/Linux
Работа с AWS ELB и Terraform в Unix/Linux
Работа с AWS Route53 и Terraform в Unix/Linux
Работа с AWS RDS и Terraform в Unix/Linux
Работа с AWS SNS и Terraform в Unix/Linux
Работа с AWS SQS и Terraform в Unix/Linux
Работа с AWS KMS и Terraform в Unix/Linux
Работа с AWS NLB и Terraform в Unix/Linux
Работа с AWS CloudWatch и Terraform в Unix/Linux
Работа с AWS ALB и Terraform в Unix/Linux
Работа с AWS MQ broker и Terraform в Unix/Linux
Работа с AWS EFS и Terraform в Unix/Linux


Nomad
https://www.nomadproject.io/
https://github.com/hashicorp/nomad
Начало работы с Nomad

https://podman.io/
https://buildah.io/

Docker

LXC
https://github.com/lxc/lxc
https://linuxcontainers.org/
http://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/виртуализация/lxc
https://linuxcontainers.org/ru/lxc/
https://ivirt-it.ru/tag/lxc/
https://ivirt-it.ru/lxc-linux-containers-tutorial/
LXC 1.0.
LXD 2.0.
LXC – шпаргалка по командам (утилитам)
Введение в систему управления контейнерами LXC
Контейнеризация при помощи LXC
Туториал по контейнеризации при помощи LXC
LXC для разработчика
Linux-контейнеры дома: зачем и как
Установка и настройка LXC на Debian 8
Создание LXC-контейнеров с общей файловой базой
Установка и настройка LXC в CentOS 7
Установка и настройка LXC на Centos7
Установка и настройка lxc контейнеров на Centos 7
Работа с LXC-контейнерами в Ubuntu Linux
Как настроить непривилегированный контейнер LXC без перезагрузки?
Запуск Docker в LXC 2

LXC Web Panel improved for lxc

Первый контейнер.
http://vasilisc.com/lxc-1-0-first-ubuntu-container
Предположим, что вы так или иначе используете последнюю версию LXC, хотелось бы верить что применяя пакеты deb.

Создаём контейнер p1, используя шаблон ubuntu и такую же архитектуру и версию как и хост. Использование "-- --help" выведет список всех доступных опций.
sudo lxc-create -t ubuntu -n p1

Запуск контейнера в фоне.
sudo lxc-start -n p1 -d

Вход в контейнер одним из различных путей:

Присоединение к консоли контейнера (ctrl-a + q для отсоединения)
sudo lxc-console -n p1
Запуск bash напрямую в контейнере, минуя логин. Требуется ядро >= 3.8.
sudo lxc-attach -n p1
SSH в контейнер. Логин ubuntu, пароль ubuntu.
sudo lxc-info -n p1
ssh ubuntu@IP-из-lxc-info

Остановка контейнера одним из различных путей:

Остановка контейнера из самого контейнера.
sudo poweroff
Корректная остановка контейнера из хоста.
sudo lxc-stop -n p1
Грубое убийство контейнера из хоста.
sudo lxc-stop -n p1 -k
Вот и готов первый контейнер. Как и обещано, в Ubuntu - всё просто! Ядра обладают поддержкой всего что нужно для LXC и контейнер использует bridge и DHCP по умолчанию


эмуляторы
https://www.winehq.org/
http://www.kegel.com/wine/winetricks
https://www.codeweavers.com/products/
https://www.playonlinux.com/en/
http://etersoft.ru/products/wine
------------------------------------------------------------------------
https://anbox.io/
https://www.darlinghq.org/
------------------------------------------------------------------------
https://www.cygwin.com/
https://babun.github.io/
http://mingw.org/
https://sourceforge.net/p/mingw-w64/wiki2/MSYS/
http://mingw-w64.org/doku.php
https://www.msys2.org/
https://github.com/msys2
http://gnuwin32.sourceforge.net/
https://blogs.msdn.microsoft.com/wsl/
https://github.com/microsoft/WSL
https://code.google.com/archive/p/microemu/downloads

Установка MinGW/MSYS и настройка окружения для разработчика
Устанавливаем эмулятор Android 7.1 под Kali Linux
Запуск Java-приложений для телефона в Ubuntu
j2me в ubuntu

разное
Сеть однородных линуксов [reoser]
Микрооблако. Второй шаг. Создание виртуальной сети
Загрузка Linux с VHD на компьютере с UEFI
Проект VBEMP 9x Универсальный VESA/VBE Видеодрайвер (для архитектуры Windows 9x)




Docker на i386-ом компьютере
https://launchpad.net/ubuntu/+source/docker.io
https://hub.docker.com/r/i386/
https://hub.docker.com/r/i386/centos/

Centos 6

docker search i386/centos
docker pull i386/centos:centos6
docker run --name centos6.9_bash -it i386/centos:centos6 /bin/bash
docker ps -a

docker start centos6.9_bash
docker attach centos6.9_bash

yum install epel-release
yum install python34

docker export centos6.9_bash | docker import - uzverss/centos6.9_i386_cython
docker images
docker save uzverss/centos6.9_i386_cython > centos6.9_i386_cython.tgz
docker rmi uzverss/centos6.9_i386_cython
docker load -i centos6.9_i386_cython.tgz
docker inspect uzverss/centos6.9_i386_cython
docker login
docker push uzverss/centos6.9_i386_cython:latest
docker logout
docker search uzverss
docker rmi uzverss/centos6.9_i386_cython
docker pull uzverss/centos6.9_i386_cython:latest
docker rm centos6.9_bash
docker run --name centos6.9_bash -it uzverss/centos6.9_i386_cython /bin/bash

Centos 7

docker pull i386/centos:latest
docker run --name centos7_bash -it i386/centos:latest /bin/bash



если есть необходимость, то ещё установить python-tools
http://ithelp21.ru/ustanovka-python-3-6-na-centos/

cd /usr/src
curl -O https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
tar xf Python-3.6.5.tar.xz
cd Python-3.6.5

./configure
make
make install

Сборка с оптимизацией



http://rpm.pbone.net/

вместо make install checkinstall



cd
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

pip install -U pip
pip install -U pyrasite
pip install -U virtualenv
pip install -U xonsh
pip install -U cython



exec "$SHELL"
pyenv update
pyenv versions
pyenv install 3.6.5


напоминалка по командам centos
https://habr.com/post/301292/

отображение команд и опций
# yum help

список названий пакетов из репозиторий
# yum list

список всех доступных пакетов
# yum list available

список всех установленных пакетов
# yum list installed

установлен ли указанный пакет
# yum list installed httpd

список установленных и доступных пакетов
# yum list all

список пакетов, относящихся к ядру
# yum list kernel

отображение информации о пакете
# yum info httpd

список зависимостей и необходимых пакетов
# yum deplist httpd

найти пакет, который содержит файл
# yum provides "*bin/top"

поиск пакета по имени и описанию
# yum search httpd

# yum search yum

получить информацию о доступных обновлениях безопасности
# yum updateinfo list security

вывести список групп
# yum grouplist

вывести описание и содержимое группы
# yum groupinfo "Basic Web Server"

установка группы пакетов «Basic Web Server»
# yum groupinstall "Basic Web Server"

удаление группы
# yum groupremove "Basic Web Server"

Проверка на доступные обновления
# yum check-update

список подключенных репозиториев
# yum repolist

информация об определенном репозитории
# yum repoinfo epel

информация о пакетах в указанном репозитории
# yum repo-pkgs epel list

установить все пакеты из репозитория
# yum repo-pkgs reponame install

удалить пакеты установленные из репозитория
# yum repo-pkgs reponame remove

создать кэш
# yum makecache

проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)
# yum check

# yum check dependencies

просмотр yum истории (вывод списка транзакций)
# yum history list

просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)
# yum history info 9

отмена транзакции
# yum history undo 9

повторить
# yum history redo 9

дополнительно можно просмотреть лог
# cat /var/log/yum.log

удалить пакеты сохраненные в кэше
# yum clean packages

удалить все пакеты и метаданные
# yum clean all

установить пакет
# yum install httpd

удаление пакета
# yum remove httpd

обновить пакет
# yum update httpd

обновить все пакеты
# yum update

обновить до определенной версии
# yum update-to

установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)
# yum localinstall httpd.rpm

или
# yum install httpd.rpm

установить с http
# yum localinstall http://server/repo/httpd.rpm

откатиться к предыдущей версии пакета
# yum downgrade

переустановка пакета (восстановление удаленных файлов)
# yum reinstall httpd

удаление ненужных более пакетов
# yum autoremove

создание локальных репозиториев (createrepo ставится отдельно)
# createrepo

установка обновлений по расписанию (yum-cron устанавливается отдельно)
# yum-cron



Опции Yum

ответить «yes» при запросе,
-y

# yum update -y

ответить «no» при запросе
--assumeno

использовать Yum без плагинов
--noplugins

или отключить определенный плагин
--disableplugin=fastestmirror

включить плагины, которые установлены, но отключены
# yum --enableplugin=ps

включить отключенный репозиторий
# yum update -y --enablerepo=epel

отключить репозиторий
# yum update -y --disablerepo=epel

скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в '/var/cache/yum/x86_64/7/base/packages/')
# yum install httpd --downloadonly


Cледующие команды доступны после установки пакета yum-utils

найти из какого репозитория установлен пакет
# find-repos-of-install httpd

найти процессы, пакеты которых обновлены и требуют рестарта
# needs-restarting

запрос к репозиторию, узнать зависимости пакета, не устанавливая его
# repoquery --requires --resolve httpd

синхронизировать yum репозиторий updates в локальную директорию repo1
# reposync -p repo1 --repoid=updates

проверить локальный репозиторий на целостность
# verifytree URL

завершить транзакции
# yum-complete-transaction

установить необходимые зависимости для сборки RPM пакета
# yum-builddep

управление конфигурационными опциями и репозиториями yum
# yum-config-manager

запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)
# yumdb info httpd

скачать rpm пакеты из репозитория
# yumdownloader

скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в '/etc/yum.repos.d/CentOS-Sources.repo' в CentOS)
yumdownloader --source php


Конфигурационные файлы Yum и их расположение

Основной конфигурационный файл
/etc/yum.conf

директория, с конфигурациями (например, yum плагины)
/etc/yum/

директория, содержащая информацию о репозиториях
/etc/yum.repos.d/


Некоторые опции yum.conf:

Директория, где yum хранит кэш и файлы базы (по умолчанию '/var/cache/yum')
cachedir=/var/cache/yum/$basearch/$releasever

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)
keepcache=1

уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)
debuglevel=2

лог файл (по умолчанию '/var/log/yum.log')
logfile=/var/log/yum.log

обновлять устаревшие пакеты
obsoletes=1

проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)
gpgcheck=1

включение плагинов. Значения: 0 или 1 (по умолчанию 1)
plugins=1



Некоторые полезные плагины

Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями
yum-plugin-changelog

выбирает более быстрые репозитории из списка зеркал
yum-plugin-fastestmirror

добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами.
yum-plugin-keys

блокировать указанные пакеты от обновления, команда yum versionlock
yum-plugin-versionlock

добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов
yum-plugin-verify


Работа Yum через прокси сервер

Для всех пользователей:
добавить в секцию [main] в /etc/yum.conf
proxy="http://server:3128"

при необходимости указать пароль, добавить
proxy_proxy_username=user
proxy_password=pass

указать прокси для отдельного пользователя
# export http_proxy="http://server:3128"


Alpine Linux
https://alpinelinux.org/downloads/
https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
https://pkgs.alpinelinux.org/packages
https://wiki.alpinelinux.org/wiki/XFCE_Setup

docker search i386/alpine
docker pull i386/alpine
docker run --name alpine_sh -it i386/alpine /bin/sh

apk update
apk info
apk search
apk add python3
apk add cython

cd
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

pip install -U pip
pip install -U pyrasite
pip install -U virtualenv
pip install -U xonsh

docker export alpine_sh | docker import - uzverss/alpine_i386_cython
docker push uzverss/alpine_i386_cython

чтобы подключаться по ssh под рутом
vi /etc/ssh/sshd_config
PermitRootLogin yes
затем /etc/init.d/sshd restart


uzverss docker команды
установка Django в virtualenv с помощью pip через proxy с pyenv

Для тестирования хороших и не очень инструментов под Android, :) необходима реальная платформа в виде настоящего телефона/планшета или же виртуальный эмулятор ее. В этом посте, я подготовил небольшую инструкцию, как поднять эмулятор Android у себя на компьютере с помощью Docker, быстро и бесплатно. Которая может кому-либо пригодится.



1. Обновляем систему.
apt update && apt upgrade -y

2. Устанавливаем Docker.


Следом docker-compose.


Включаем сервис.
systemctl enable docker && systemctl start docker

Перезагружаемся.
reboot

3. Подготовим docker-compose.
mkdir ~/docker && nano ~/docker/docker-compose.yml



4. Запускаем образ.
cd ~/docker && docker-compose up -d

После того как наш образ загрузится, открываем браузер (Chrome, Firefox), и переходим по адресу: http://IP:6080
и получаем наш Nexus 5, с Android 7.1.1.

5. Остановить приложение.
cd ~/docker && docker-compose down

Несколько замечаний:

1. Тестировалось на Kali 2017.3 64, с небольшими изменениями можно запустить на Ubuntu/Debian, на Windows необходимо установить
docker и docker-compose своим способом.

2. Оперативной памяти на VM/Хосте должно быть выделено не менее 2GB для успешного запуска эмулятора.

3. Если вы выполняете эти действия на виртуальной машине, как и я, необходимо включить "Nested Virtualization" в настройках вашего гипервизора.
Здесь инструкции как это сделать для vmware. Но нужно учесть что, из-за вложенной виртуализации CPU, заметно пострадает производительность,
в эмуляторе.

Официальный репозиторий проекта.

На Ubuntu/Debian изменения только в установке самого Docker, делается одной командой:

curl -sSL https://get.docker.com/ | CHANNEL=stable sh

https://codeby.net/threads/ustanavlivaem-ehmuljator-android-7-1-pod-kali-linux.61809/
https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef
j2me в ubuntu
https://code.google.com/archive/p/microemu/downloads

запуск waydroid в ubuntu


ознакомиться

docker search centos
docker pull centos
docker run -it centos bash
docker commit №_контейнера название_образа # сделать нужный образ
docker rm $(docker ps -a -q -f status=exited) # удалить лишние контейнеры (все)

docker команды

https://www.yiiframework.com/doc/guide/2.0/en/tutorial-docker
docker-compose -v
docker -v
docker-compose up -d
docker-compose ps
docker-compose logs -f
docker-compose stop
docker-compose kill
docker-compose down -v
docker-compose run --rm php composer install
docker-compose exec php bash

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Определение многоконтейнерного приложения с помощью docker-compose.yml

Программирование с YII2: приступаем к работе

https://github.com/yiisoft/yii2/tree/master/docs/guide-ru
https://webformyself.com/yii2-advanced-ustanovka/
https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/doc/guide/2.0/ru/tutorial-start-from-scratch


http://onreader.mdl.ru/LearningDockerNetworking/content/Ch02.html
Docker: как развернуть фуллстек-приложение и не поседеть

установка php

установка compozer
yum install install curl php-cli php-mbstring git zip unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
или
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
или
mv composer.phar /usr/local/bin/composer

composer show --platform | grep ext-xsl
sudo yum install php-xsl

подключение к БД
https://yiiframework.com.ua/ru/doc/guide/2/db-dao/

  • MySQL, MariaDB: mysql:host=localhost;dbname=mydatabase

  • SQLite: sqlite:/path/to/database/file

  • PostgreSQL: pgsql:host=localhost;port=5432;dbname=mydatabase

  • CUBRID: cubrid:dbname=demodb;host=localhost;port=33000

  • MS SQL Server (via sqlsrv driver): sqlsrv:Server=localhost;Database=mydatabase

  • MS SQL Server (via dblib driver): dblib:host=localhost;dbname=mydatabase

  • MS SQL Server (via mssql driver): mssql:host=localhost;dbname=mydatabase

  • Oracle: oci:dbname=//localhost:1521/mydatabase



ошибки при установке yii2-app-advanced
Exception 'yii\db\Exception' with message 'could not find driver'
sudo yum install php-gd php-mysql

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory'
nano $HOME/yii-application/common/config/main-local.php
'dsn' => 'mysql:host=127.0.0.1:3306;dbname=yii2advanced

sudo mysql_secure_installation
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost''

http://qaru.site/questions/161543/error-1698-28000-access-denied-for-user-rootlocalhost
https://www.digitalocean.com/community/tutorials/mysql-ubuntu-18-04-ru

$ sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;

$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

надо создать нового пользователя с полными правами.
$ sudo mysql -uroot

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

$ mysql -unewuser -ppassword
Для работы с базой использовать нового пользователя newuser вместо root.

nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=yii2advanced',
'username' => 'newuser',
'password' => 'password',

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1049] Unknown database 'yii2advanced''
mysql> CREATE DATABASE yii2advanced;
mysql> EXIT;

php yii serve --port=8888
Document root "/home/user/yii-application/console/web" does not exist.

В консоли надо указать путь к document root проекта.
php yii serve --docroot="path/to/docroot"
Например:
php yii serve --docroot="@frontend/web" --port=8080
php yii serve --docroot="@backend/web" --port=8888
php yii serve --docroot="@console" --port=8000
или
php -S 127.0.0.1:8080 -t frontend/web
php -S 127.0.0.1:8888 -t backend/web

http://127.0.0.1:8080/index.php?r=gii

Сервис на Yii2: Тестирование приложения с Codeception
проверка (запуск в каталоге)
vendor/bin/codecept run acceptance -- -c frontend
vendor/bin/codecept run acceptance -- -c backend

Codeception requires CURL extension installed to make tests run
If you are not sure, how to install CURL, please refer to StackOverflow
yum install php-curl



https://www.tutorialspoint.com/sqlite/sqlite_create_database.htm
http://www.w3big.com/ru/sqlite/sqlite-syntax.html
Стартуем с SQLite3 – Основные команды
nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'sqlite:/home/user1/yii-application/DB/yii2advanced.db',

$ mkdir -p $HOME/yii-application/DB/
$ sqlite3 $HOME/yii-application/DB/yii2advanced.db
.quit

Команда Описание
.show Показывает текущие настройки заданных параметров
.databases Показывает название баз данных и файлов
.quit Выход из sqlite3
.tables Показывает текущие таблицы
.schema Отражает структуру таблицы
.header Отобразить или скрыть шапку таблицы
.mode Выбор режима отображения данных таблицы
.dump Сделать копию базы данных в текстовом формате




composer --version
composer self-update
composer global require "fxp/composer-asset-plugin:~1.4.5"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
или
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
или
php composer.phar create-project yiisoft/yii2-app-advanced advanced

Установка из архивного файла
https://www.yiiframework.com/download

// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'enter your secret key here',

обновление
php composer.phar update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask

Проверка установки, запуск yii2
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_адрес:8080 (правильно)

проверка проброса портов
php -S 0.0.0.0:8080

Чтобы открыть несколько портов, просто укажите несколько аргументов -p:
docker run -p host_port1:container_port1 -p host_port2:container_port2
docker run -it -p 7100-7120:7100-7120/tcp

проверка блокировки по портам
php -S 0.0.0.0:8080 (или внутренний ip контейнера напр 172.17.0.2:0.0.0.0)
localhost:0.0.0.0 работать не будет, как и 127.0.0.1:8080

напр docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii
php -S 127.0.0.2:8080 сработает


docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii


php yii serve (по умолч localhost порт 80)
php yii serve --port=8080 (поднимется по умолчанию на localhoct, т.е. при --net=host )
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_adres_контейнера:8080 (правильно)

узнать ip адрес (если нет ip a)
yum install net-tools
ifconfig

docker run --name centos -it centos bash
docker run -d -p 80:8080 uzverss/centos_yii
если что то блокирует проброс то
docker run --net=host -it centos1_yii2 bash

примеры

пример: подключить каталог с yii2 с хоста в контейнер
docker run -v /home/user/basic:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
пример: подключить каталог с yii2 с контейнера на хост (каталога basic1 на хосте нет, создаётся с правами root)
docker run -v /home/user/basic1:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
chown user:user /home/user/basic

монтировать каталоги хоста внутрь контейнера
docker run -v /каталог_на_компе:/каталог_в контейнере -v /каталог_на_компе:/каталог_в контейнере образ_докера

создание пользователей
adduser username
passwd username
gpasswd -a username wheel
userdel username
userdel -r username удалит пользователя с каталогом
sudo lid -g wheel


пример настроенного контейнера:
docker pull schmunk42/yii2-app-basic
docker run -p 8888:80 schmunk42/yii2-app-basic

https://github.com/yiisoft/yii2-app-basic
docker pull yiisoftware/yii2-php:7.3-fpm

docker run --name php-yii2 --rm -it dmstr/php-yii2 -p 8080:8080 yii

https://hub.docker.com/r/yiisoftware/yii2-php/
https://github.com/dmstr/docker-yii2-app

Как сделать админку для yii2 basic?
https://www.yiiframework.com/search?type=extension&q=admin
https://github.com/yii2tech/admin
https://www.yiiframework.com/extension/yii2-template-smarty
https://www.yiiframework.com/extension/qtzpanel
https://www.yiiframework.com/extension/yii2-admin
https://elisdn.ru/blog/76/seo-service-on-yii2-admin-and-sef
https://github.com/ElisDN/seokeys

https://www.yiiframework.com/extension/phpnt/yii2-cms
https://www.yiiframework.com/extension/execut/yii2-cms

https://github.com/yii2tech
https://github.com/codemix
https://github.com/creocoder

https://www.adminer.org/
https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io

https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/wiki/783/running-applications-with-docker

https://phptoday.ru/post/gotovim-lokalnuyu-sredu-docker-dlya-razrabotki-na-php
https://blog.rvalitov.ru/programming/yii2/yii2-base-docker/
http://noob.poex.me/2018/06/22/docker-network/

Полное руководство по Yii 2.0
https://nix-tips.ru/yii2-api-guides/guide-ru-README.html
https://github.com/yiisoft/yii2/tree/master/docs/guide-ru

установка dokuwiki centos php nginx
Расшариваем веб-сайт на localhost в глобальную сеть интернет.



ознакомиться
Установка Docker CE
https://docs.docker.com/install/linux/docker-ce/debian/
$ sudo apt-get update
$ sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce

или

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

$ sudo usermod -aG docker your-user

Установить определенную версию Docker CE
Перечислите версии, доступные в вашем репо:
$ apt-cache madison docker-ce
$ sudo apt-get install docker-ce=

в ubuntu (в том числе и i386):
apt install docker.io

Удалить Docker CE
$ sudo apt-get purge docker-ce

Удалить все изображения, контейнеры и тома:
$ sudo rm -rf /var/lib/docker



https://download.docker.com/linux/static/stable/x86_64/

Docker на i386-ом компьютере
https://launchpad.net/ubuntu/+source/docker.io

https://hub.docker.com/r/i386/

ошибка при запуске
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json: dial unix /var/run/docker.sock: connect: permission denied

sudo usermod -a -G docker $USER

https://docs.docker.com/edge/engine/reference/commandline/docker/

docker login
docker logout
docker images
docker ps -a
docker rm fc473085632f
docker search centos_cython
docker pull centos_cython
docker inspect uzverss/centos_cython
docker save uzverss/centos_cython > centos_cython.tgz
docker load -i centos_cython.tgz
docker run -d uzverss/centos_cython /bin/bash
docker export fc473085632ff24cf45e31359c518c0b4795ae71a502dafea1bc3ede773b550c | docker import - uzverss/centos_cython1
docker commit №_контейнера имя_образа
docker commit bf43ee2f2b19 centos7_yii2
docker commit -m "What did you do to the image" -a "Author Name" container-id repository/new_image_name
docker run --rm -it uzverss/centos_cython /bin/bash
создание образа из контейнера
docker tag centos_cython:latest centos_cython_old:latest123
docker run -it --name temp_container your_image_name bash
docker commit temp_container new_image_name

docker run --name centos_bash -it uzverss/centos_cython /bin/bash
docker export centos_bash -o centos_bash_tmp.tar
docker import centos_bash_tmp.tar centos_bash_tmp
docker save centos_bash_tmp -o centos_bash.tar
gzip centos_bash.tar
docker load -i centos_bash.tar.gz
docker run --name centos_bash2 -d uzverss/centos_cython /bin/bash
docker export centos_bash2 | docker import - centos_bash3
docker save centos_bash3 -o centos_bash3.tar
gzip centos_bash3.tar
docker load -i centos_bash3.tar.gz
docker images

docker rmi uzverss/centos_cython1
docker images -a
docker rmi Image1 Image2
docker push uzverss/centos_cython
docker history uzverss/centos_cython
docker search centos_python3
docker search centos_cython
docker ps -a
docker run -it uzverss/centos_cython /bin/bash
docker start fc473085632f
docker attach fc473085632f
docker stop fc473085632f
docker rm fc473085632f
docker run --name centos_bash -it uzverss/centos_cython /bin/bash
docker export centos_bash -o centos_bash.tar
docker save opkg -o centos_bash.tar
gzip centos_bash.tar
docker run --name haproxy-bash -v /mnt:/mnt -it -p 5000:5000 haproxy bash
docker run -d -t -p 5000:5000 haproxy haproxy_start
docker start centos_bash
docker stop centos_bash
docker attach centos_bash
docker rm centos_bash
docker rm $(docker ps -a -q -f status=exited) удалит все контейнеры кроме задействованных
docker rmi $(docker images -q) удалит все кроме имеющих запущенные контейнеры
docker rmi $(docker images -a -q) Чтобы удалить все образы, добавьте флаг –q
docker rm $(docker ps -a -q) — Удалить все существующие контейнеры
Чтобы удалить все образы, добавьте флаг –q
«-f» опция для того чтобы принудительно удалить docker образы

Как удалить образы, контейнеры и тома Docker
docker images -f dangling=true
docker images purge

docker system prune # очистит любые висящие (не связанные с контейнером) ресурсы - изображения, контейнеры, тома и сети
docker system prune -a # удалить все остановленные контейнеры и все неиспользуемые изображения (не только свисающие изображения)

создать минимальный chroot и из него — образ:
$ sudo tar -C каталог-с-chroot-ом -c . | docker import - название-образ
подробнее см сборка образов под свои нужды

монтировать каталоги хоста внутрь контейнера
docker run -v /каталог_на_компе:/каталог_в контейнере -v /каталог_на_компе:/каталог_в контейнере образ_докера
Копирование внутрь контейнера
docker cp some_files.conf docker_container:/home/docker/

сеть в контейнере
Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux
команда docker network create --driver bridge --subnet 192.168.100.0/24 --ip-range 192.168.100.0/24 my-bridge-network создает еще одну bridge-сеть с именем “my-bridge-network” и подсетью 192.168.100.0/24

docker network ls
brctl show docker0
docker exec №_контейнера ping ya.ru


docker run -d -p 80:8080 uzverss/centos_yii

Чтобы открыть несколько портов, просто укажите несколько аргументов -p:
docker run -p host_port1:container_port1 -p host_port2:container_port2
docker run -it -p 7100-7120:7100-7120/tcp

проверка блокировки по портам
php -S 0.0.0.0:8080 (или внутренний ip контейнера напр 172.17.0.2:0.0.0.0)
localhost:0.0.0.0 работать не будет, как и 127.0.0.1:8080

напр docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii
php -S 127.0.0.2:8080 сработает

если что то блокирует проброс то прямой проброс (host=контейнер)
docker run --net=host -it centos1_yii2 bash

docker0 может быть настроен флагами --net в четырёх режимах:

--net default
--net=none
--net=container:$container2
--net=host

Режим --net default
В данном режиме мост по умолчанию применяется мостом для соединения контейнеров друг с другом.

Режим --net=none
В этом режиме созданные контейнеры полностью изолированы и не могут соединяться с сетевой средой.

Режим --net=container:$container2
При помощи данного флага данный контейнер создаёт в пространстве имён сети совместный ресурс с контейнером, именуемым $container2.

Режим --net=host
При данном режиме контейнер создаёт совместные ресурсы своего сетевого пространства имён с хостом.


узнать ip адрес, на котором работает web-сервер, нужно выполнить команду:
docker inspect -f '' имя_контейнера
http://onreader.mdl.ru/LearningDockerNetworking/content/Ch01.html#010201

Docker: как развернуть фуллстек-приложение и не поседеть


https://www.shellhacks.com/ru/docker-cp-command-copy-file-to-from-container/
Скопировать файл с хоста в контейнер:
$ docker cp foo.txt 72ca2488b353:/foo.txt
Скопировать файл с Docker-контейнера на хост:
$ docker cp 72ca2488b353:/foo.txt foo.txt
На всякий случай проверьте корректность синтаксиса настроек в Nginx:
$ docker container exec nginx -t
Отправьте Nginx внутри Docker-контейнера сигнал reload:
$ docker container exec nginx -s reload

https://www.8host.com/blog/udalenie-obrazov-kontejnerov-i-tomov-docker/
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)
Удаление недействительных образов
docker rmi $(docker images -q -f dangling=true)
Удаление томов
docker volume ls
docker volume rm том1 том2 том3
docker volume ls -f dangling=true
docker volume rm $(docker volume ls -f dangling=true -q)
Удаление тома вместе с контейнером
docker rm -v имя_контейнера

https://isavel.pro/?p=71
Копирование внутрь контейнера
docker cp some_files.conf docker_container:/home/docker/

Зайти в уже запущенный контейнер (точнее выполнить команду внутри контейнера)
docker exec -it name_of_container /bin/bash

http://qaru.site/questions/14756/how-to-copy-docker-images-from-one-host-to-another-without-via-repository
export будет извлекать весь контейнер: как моментальный снимок обычной виртуальной машины
save будет извлекать изображение: для виртуальной машины или физического сервера это будет образ .ISO установки или диска
Для сглаженного экспорта файловой системы контейнера используйте;
docker export CONTAINER_ID > my_container.tar
Используйте cat my_container.tar | docker import - для импорта указанного изображения.


https://ivan.bessarabov.ru/blog/docker-commands

docker run --detach --publish 8000:80 --name sample bessarabov/sample_nginx

Скачать все теги образа ubuntu
docker pull --all-tags ubuntu

# Выяснить на каком ip адресе работает виртуальная машина с докером
$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103

# Строка для добавления в .bash_profile, которая выставляет правильные
# переменные окружения
eval $(boot2docker shellinit 2> /dev/null)


https://habrahabr.ru/post/310460/
docker run -d -P --name static-site prakhar1989/static-site
docker port static-site
создать файл Dockerfile затем
docker build -t prakhar1989/catnip .
docker run -p 8888:5000 prakhar1989/catnip

https://habrahabr.ru/post/234829/
docker start stupefied_lovelace
docker attach stupefied_lovelace
docker run --name city -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
docker cp <путь к данным на хосте> <имя контейнера>:<путь>
docker run -v /tmp:/root -t -i <имя образа>
docker commit <id контейнера="контейнера"> <имя образа>
docker load < /tmp/transfer.tar
docker run -i -t -p 80:80 -p 443:443 --name nginx ubuntu:trusty
docker commit nginx trukhinyuri/nginx
docker push trukhinyuri/nginx

Docker: retag образа
Bash – скрипт удаления образов с Docker Swarm нод




запуск графических приложений в Docker

https://github.com/Kagami/kagome/
Docker: запуск графических приложений в контейнерах



ssh -X -R 64713:localhost:4713 <user>@<hostname>

сборка с браузером и крысой
https://github.com/ConSol/docker-headless-vnc-container

docker pull amanral/ubuntu-firefox




Осилил запуск GUI-приложений в Docker
в /etc/ssh/sshd_config есть строчка X11Forwarding yes
sudo docker run --dns 8.8.8.8 -p 127.0.0.1:222:22 -d -i -t baseimage-ssh /sbin/my_init
ssh -p 222 root@localhost
apt-get update
apt-get install x11-apps xauth
apt-get install chromium-browser
apt-get install fonts-dejavu fonts-dejavu-core fonts-dejavu-extra
заведем нового пользователя:
adduser afiskon
usermod -G sudo afiskon
Под рутом говорим:
xauth list
Появится одна или несколько строчек вроде таких:
089a234b1567/unix:10 MIT-MAGIC-COOKIE-1 0489a12c89a67b567ef012cd...
Переключаемся на юзера:
su afiskon
Для каждой ранее уведенной строчечки говорим:
xauth add (строчечка)
В дальнейшем так далать не понадобится, все сохраняется в файлики.
В гостевой системе:
sudo apt-get install libpulse0 pulseaudio
В хост-системе:
sudo apt-get install paprefs
Запускаем paprefs, во вкладке Network Server ставим галочку Enable network access to local sound devices, а также Don’t require authentication. Затем:
sudo service pulseaudio restart
В netstat -tuwpan должны увидеть, что процесс pulseaudio слушает порт 4713. Вам Если после выполнения приведенной выше команды ничего не изменилось, попробуйте:
pulseaudio -k
pulseaudio --start
пробрасываем порт на гостевую систему:
ssh -X -p 222 -R3333:localhost:4713 root@localhost
В гостевой системе говорим:
PULSE_SERVER="tcp:localhost:3333" chromium-browser --no-sandbox

объяснение проброса звука по SSH
pax11publish или xprop -root PULSE_SERVER
~/.config/pulse/cookie

https://registry.hub.docker.com/r/tomparys/skype

https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
https://github.com/jessfraz/dockerfiles
https://hub.docker.com/u/jess/


Мониторинг
cat /sys/fs/cgroup/cpuacct/docker/CONTAINER_ID/cpuacct.stat
docker stats CONTAINER_ID

Доступ к API
echo -e "GET /containers/[CONTAINER_ID]/stats HTTP/1.0\r\n" | nc -U /var/run/docker.sock

часть stdout/stderr информации Docker выводит в файл журнала. В Ubuntu это /var/lib/docker.log

https://github.com/bcicen/ctop/blob/master/README.md
ctop -a

https://xakep.ru/2015/06/04/docker-faq/
указать максимальный объем памяти, который будет доступен контейнеру:
sudo docker run -d -m 256m ubuntu-nginx /usr/sbin/nginx

sudo docker run -it -v /var/run/docker.sock:/var/run/docker.sock\
nathanleclaire/devbox

узнать ip адрес, на котором работает web-сервер, нужно выполнить команду:
docker inspect -f '' имя_контейнера

DockerUI
sudo docker run -d -p 9000:9000 --privileged \
-v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

http://IP-dockerd:9000

sudo docker run -d -p 9000:9000 --privileged \
dockerui/dockerui -e http://127.0.0.1:2375

Shipyard

sudo docker run -it -p 8080:8080 -d --name shipyard \
--link shipyard-rethinkdb:rethinkdb shipyard/shipyard

https://askubuntu.com/questions/1028522/how-can-i-install-pdftk-in-ubuntu-18-04-and-later
http://satan-web.com/questions/206/kak-ustanovit-pdftk-v-ubuntu-18-04-bionic

https://letsclearitup.com.ua/docker/

Проверить сколько места на жестком диске занимает Docker:
docker system df

очистка неиспользуемых данных
docker system prune

поиска образов в реестрах
docker search образ

Для запуска контейнера и выполнения внутри него команды используется:
docker container run -it itscaro/debian-ssh /bin/bash
docker run -it itscaro/debian-ssh bash

Подключиться к уже запущенному контейнеру и запустить shell:
docker container exec -it [CONTAINER ID] /bin/bash
docker exec -it [CONTAINER ID] bash

Список запущенных процессов внутри контейнера смотрим так:
docker top [CONTAINER ID]
docker container top [CONTAINER ID]

Просмотреть логи контейнера можно так:
docker logs [CONTAINER ID]
docker container logs [CONTAINER ID]
docker container logs -f [CONTAINER ID]

Для остановки контейнера используется команда stop, например:
docker stop [CONTAINER ID]
docker container stop [CONTAINER ID]

Для остановки всех запущенных контейнеров используйте такую команду:
docker container stop $(docker container ls -q)

Удалить остановленный контейнер можно так:
docker rm [CONTAINER ID]

Удалить все остановленные контейнеры можно командой:
docker container prune

Просмотреть историю образа, который использует контейнер:
docker image history --no-trunc=true $(docker container inspect -f '' [CONTAINER ID])

Просмотреть изменения файловой системы контейнера по сравнению с оригинальным образом:
docker container diff [CONTAINER ID]

Выполнить резервное копирование каталога с данными из контейнера в хост-машину:
docker container run --rm --volumes-from [SOURCE_CONTAINER]:ro -v $(pwd):/backup alpine \
tar cvf /backup/backup_$(date +%Y-%m-%d_%H-%M).tar /data

Восстановить данные из резервной копии на хост-машине внутрь контейнера:
docker container run --rm --volumes-from [TARGET_CONTAINER]:ro -v $(pwd):/backup alpine \
tar xvf /backup/backup.tar

Вывод имени хранилища (volume), которое использует контейнер:
docker container inspect -f ' ' [CONTAINER ID]

Вывод имени хранилища (volume), которое использует контейнер и точек монтирования:
docker container inspect -f ': ' [CONTAINER ID]

Получить IP-адрес контейнера:
docker container inspect -f '' [CONTAINER ID]

удалить недействительные образы (у которых нет метки)
docker images --no-trunc | grep '' | awk '{ print $3 }' | xargs -r docker rmi
docker rmi $(docker images -f dangling=true -q)

поиск недействительных образов
docker images -f dangling=true

удаление остановленных контейнеров
docker ps --filter status=exited -aq | xargs docker rm -v
docker rm $(docker ps -a -f status=exited -q)

удаление неиспользуемых томов в ранних версиях docker



все неиспользуемые (недействительные) тома можно найти с помощь такой командой:
docker volume ls -f dangling=true

удалить все неиспользуемые (недействительные) тома
docker volume rm $(docker volume ls -f dangling=true -q)

Очистка места в private docker-registry
https://letsclearitup.com.ua/docker/ochistka-mesta-v-private-docker-registry.html

Находясь на docker-хосте, смотрим содержимое каталога с интересующим нас docker-образом и его тэгом в каталоге
/srv/gitlab/shared/registry/docker/registry/v2/repositories/{имя_докер_образа}/_manifests/tags/{тег_образа}/index/sha256

Смотрим содержимое каталога с ревизиями интересующего нас docker-образа
/srv/gitlab/shared/registry/docker/registry/v2/repositories/{имя_докер_образа}/_manifests/revisions/sha256

После удаления вышеуказанных файлов запускаем процесс «уборки мусора» командой:
docker exec -it {имя_контейнера_c_registry} bin/registry garbage-collect {путь_к_конфигу_внутри_контейнера}

Для чистки места также можно использовать скрипт clean_docker_registry.sh следующего содержания:



Запускаем скрипт с параметрами, первый из которых — имя docker-образа, второй — тэг docker-образа, например:
./clean_docker_registry.sh master/lebed/test latest


как сохранять и загружать образы Docker:
Сохраните изображение как tarball
docker save repositoryname:tag > repotag.tar

Заархивируйте изображение
gzip repotag.tar

Скопируйте tar-архив на новую машину.
scp repotag.tar.gz <foreign machine>

Распаковать тарбол
gunzip repotag.tar.gz

Загрузите образ докера
docker load < repotar.tar

Найдите идентификатор изображения
docker images

Отметьте изображение
docker tag repositoryname:tag


Шпаргалка docker
Install DOCKER
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Info and Registry
docker info - Информация обо всём в установленном Docker
docker history - История образа
docker tag - Дать тег образу локально или в registry
docker login - Залогиниться в registry
docker search - Поиск образа в registry
docker pull - Загрузить образ из Registry себе на хост
docker push - Отправить локальный образ в registry

Container Management
docker ps -а - Посмотреть все контейнеры
docker start container-name - Запустить контейнер
docker kill/stop container-name - Убить (SIGKILL) /Остановить (SIGTERM) контейнер
docker logs --tail 100 container-name - Вывести логи контейнера, последние 100 строк
docker inspect container-name - Вся инфа о контейнере + IP
docker rm container-name - Удалить контейнер (поле каждой сборки Dockerfile)
docker rm -f $(docker ps -aq) - Удалить все запущенные и остановленные контейнеры
docker events container-name
docker port container-name - Показать публичный порт контейнера
docker top container-name - Отобразить процессы в контейнере
docker stats container-name - Статистика использования ресурсов в контейнере
docker diff container-name - Изменения в ФС контейнера

Images
docker build -t my_app . - Билд контейнера в текущей папке, Скачивает все слои для запуска образа
docker images / docker image ls - Показать все образы в системе
docker image rm / docker rmi image - Удалить image
docker commit <containerName/ID> lepkov/debian11slim:version3- Создает образ из контейнера
docker insert URL - вставляет файл из URL в контейнер
docker save -o backup.tar - Сохранить образ в backup.tar в STDOUT с тегами, версиями, слоями
docker load - Загрузить образ в .tar в STDIN с тегами, версиями, слоями
docker import - Создать образ из .tar
docker image history --no-trunc - Посмотреть историю слоёв образа
docker system prune -f - Удалит все, кроме используемого (лучше не использовать на проде, ещё кстати из-за старого кеша может собираться cтарая версия контейнера)

Run
docker run -d -p 80:80 -p 22:22 debian:11.1-slim sleep infinity (--rm удалит после закрытия контейнера, --restart unless-stopped добавит автозапуск контейнера) - Запуск контейнера интерактивно или как демона/detached (-d), Порты: слева хостовая система, справа в контейнере, пробрасывается сразу 2 порта 80 и 22, используется легкий образ Debian 11 и команда бесконечный сон

docker update --restart unless-stopped redis - добавит к контейнеру правило перезапускаться при закрытии, за исключением команды стоп, автозапуск по-сути

docker exec -it container-name /bin/bash (ash для alpine) - Интерактивно подключиться к контейнеру для управления, exit чтобы выйти

docker attach container-name - Подключиться к контейнеру чтоб мониторить ошибки логи в реалтайме

Volumes
Скопировать в корень контейнера file
docker cp file <containerID>:/

Скопировать file из корня контейнера в текущую директорию командной строки
docker cp <containerID>:/file .

Создать volume для постоянного хранения файлов
docker volume create todo-db

Добавить named volumу todo-db к контейнеру (они ok когда мы не заморачиваемся где конкретно хранить данные)
bashdocker run -dp 3000:3000 --name=dev -v todo-db:/etc/todos container-name
docker run -dp 3000:3000 --name=dev --mount source=todo-db,target=/etc/todos container-name # тоже самое что команда сверху

Отобразить список всех volume’ов
docker volume ls

Инспекция volume’ов
docker volume inspect

Удалить volume
docker volume rm

Network
Создать сеть
docker network create todo-app

Удалить сеть
docker network rm

Отразить все сеть
docker network ls

Вся информация о сети
docker network inspect

Соединиться с сетью
docker network connect

Отсоединиться от сети
docker network disconnect

Пробросить текущую папку в контейнер и работать на хосте, -w working dir, sh shell



Запуск контейнера с присоединением к сети и заведение переменных окружения



Запуск контейнера с приложением



CMD VS ENTRYPOINT
Разница в том, что CMD выполняется из под /bin/sh по дефолту, а ENTRYPOINT без него. В случае с CMD, команда и параметры к ней захардкожены в образ, пример запуска с переопределением команды CMD ["sleep","10"]

docker run ubuntu sleep 5
Контейнер проспит 5 секунд вместо 10.

В случае с ENTRYPOINT, только команда захардкожена в образ, пример запуска с переопределением команды ENTRYPOINT ["sleep"] CMD ["10"] (Если используются обе директивы, то в энтрипоинте команда, а в cmd параметры к ней)

docker run ubuntu 5
Контейнер проспит 5 секунд вместо 10.

Чтобы переопределить ENTRYPOINT:

docker run --entrypoint another-command ubuntu 20

Обычно практика такая, всегда используй CMD, если только не требуется каждый раз запускать контейнер с разным параметром (экономия времени, чтоб каждый раз не вводить строчку с командой)

Best Practice
Следуй принципу минимальных привилегий, процессы в контейнере никогда не должны выполняться из под рута, кроме редких случаев, нужно добавлять команду user и менять юзера на non-root.
Не привязываться к UID, он динамичен, можно записать во временную папку UID.
Сделать все исполняемые файлы владельцем рута, чтобы никто не изменил исполняемые файлы, а пользователю достаточно только права на выполнение.
Чем меньше компонентов и открытых портов, тем меньше поверхность для атак.
Использовать multistage для промежуточного контейнера для компиляции всего, зависимостей, временных файлов, образ может весить на треть меньше.
Distroless с чистого листа, использовать минимальный набор пакетов, например избавиться от образа Ubuntuи выбрать Debian-base, наши контейнеры содержат уязвимости изначального образа, чекать это.
Нужно обновлять всё до того, как выйдет из под поддержки.
Оставлять только те порты, которые реально нужны, избегать 22 и 21 3389 (ssh & ftp & rdp).
Никогда не помещайте логины/пароли в команде, в докерфайлах, переменных, docker secret или любой другой менеджер секретов ok.
Не использовать ADD, только COPY (когда используем точку - это воркдир где лежит докерфайл).
При сборке используйте .dockerignore чтобы убрать сенситив дату, это как .gitignore.
При сборке вначале команд лучше кешировать команду ран, а потом скопировать исходные данные.
Метадату записать.
Использовать тесты типа Linter и сканеры образов для CI.
Время от времени делать prune, докер любит много места жрать


Шпаргалка с командами Docker
https://github.com/eon01/DockerCheatSheet

Запуск остановленного контейнера
docker start nginx

Остановка
docker stop nginx

Перезагрузка
docker restart nginx

Пауза (приостановка всех процессов контейнера)
docker pause nginx

Снятие паузы
docker unpause nginx

Блокировка (до остановки контейнера)
docker wait nginx

Отправка SIGKILL (завершающего сигнала)
docker kill nginx

Отправка другого сигнала
docker kill -s HUP nginx

Подключение к существующему контейнеру
docker attach nginx

Работающие контейнеры
docker ps
docker ps -a

Логи контейнера
docker logs infinite

Информация о контейнере
docker inspect infinite
docker inspect --format '' $(docker ps -q)

События контейнера
docker events infinite

Публичные порты
docker port infinite

Выполняющиеся процессы
docker top infinite

Использование ресурсов
docker stats infinite

Изменения в файлах или директориях файловой системы контейнера
docker diff infinite

Управление образами

Список образов
docker images

Создание образов
docker build .
docker build github.com/creack/docker-firefox
docker build - < Dockerfile
docker build - < context.tar.gz
docker build -t eon/infinite .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .

Удаление образа
docker rmi nginx

Загрузка репозитория в tar (из файла или стандартного ввода)
docker load < ubuntu.tar.gz
docker load --input ubuntu.tar

Сохранение образа в tar-архив
docker save busybox > ubuntu.tar

Просмотр истории образа
docker history

Создание образа из контейнера
docker commit nginx

Тегирование образа
docker tag nginx eon01/nginx

Push (загрузка в реестр) образа
docker push eon01/nginx

Сеть

Создание сети
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork




Удаление сети
docker network rm MyOverlayNetwork

Список сетей
docker network ls

Получение информации о сети
docker network inspect MyOverlayNetwork

Подключение работающего контейнера к сети
docker network connect MyOverlayNetwork nginx

Подключение контейнера к сети при его запуске
docker run -it -d --network=MyOverlayNetwork nginx

Отключение контейнера от сети
docker network disconnect MyOverlayNetwork nginx

Очистка Docker

Удаление работающего контейнера
docker rm nginx

Удаление контейнера и его тома (volume)
docker rm -v nginx

Удаление всех контейнеров со статусом exited
docker rm $(docker ps -a -f status=exited -q)

Удаление всех остановленных контейнеров
docker container prune
docker rm `docker ps -a -q`

Удаление контейнеров, остановленных более суток назад
docker container prune --filter "until=24h"

Удаление образа
docker rmi nginx

Удаление неиспользуемых (dangling) образов
docker image prune
docker rmi $(docker images -f dangling=true -q)

Удаление неиспользуемых (dangling) образов даже с тегами
docker image prune -a

Удаление всех образов
docker rmi $(docker images -a -q)

Удаление всех образов без тегов
docker rmi -f $(docker images | grep "^" | awk "{print $3}")

Остановка и удаление всех контейнеров
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)

Удаление неиспользуемых (dangling) томов
docker volume prune
docker volume rm $(docker volume ls -f dangling=true -q)

Удаление неиспользуемых (dangling) томов по фильтру
docker volume prune --filter "label!=keep"

Удаление неиспользуемых сетей
docker network prune

Удаление всех неиспользуемых объектов
docker system prune

По умолчанию для Docker 17.06.1+ тома не удаляются. Чтобы удалились и они тоже:
docker system prune --volumes

Docker Swarm
Установка Docker Swarm
curl -ssl https://get.docker.com | bash

Инициализация Swarm
docker swarm init --advertise-addr 192.168.10.1

Подключение рабочего узла (worker) к Swarm
docker swarm join-token worker

Подключение управляющего узла (manager) к Swarm
docker swarm join-token manager

Список сервисов
docker service ls

Список узлов
docker node ls

Создание сервиса
docker service create --name vote -p 8080:80 instavote/vote

Список заданий Swarm
docker service ps

Масштабирование сервиса
docker service scale vote=3

Обновление сервиса
docker service update --image instavote/vote:movies vote
docker service update --force --update-parallelism 1 --update-delay 30s nginx
docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote
docker service update --limit-cpu 2 nginx
docker service update --replicas=5 nginx



Шпаргалка по командам Dockerfile

FROM <имя-образа> — какой образ использовать в качестве базы (должна быть первой строкой в любом Dockerfile).
MAINTAINER <имя> — имя мантейнера данного Dockerfile.
RUN <команда> — запустить указанную команду внутри контейнера.
CMD <команда> — выполнить команду при запуске контейнера (обычно идет последней).
EXPOSE <порт> — список портов, которые будет слушать контейнер (используется механизмом линковки).
ENV <ключ> <значение> — создать переменную окружения.
ADD <путь> <путь> — скопировать файл/каталог внутрь контейнера/образа (первый аргумент может быть URL).
ENTRYPOINT <команда> — команда для запуска приложения в контейнере (по умолчанию /bin/sh -c).
VOLUME <путь> — пробросить в контейнер указанный каталог (аналог опции -v).
USER <имя> — сменить юзера внутри контейнера.
WORKDIR <путь> — сменить каталог внутри контейнера.
ONBUILD [ИНСТРУКЦИЯ] — запустить указанную инструкцию Dockerfile только в том случае, если образ используется для сборки другого образа (с помощью FROM).


Установка Docker-compose
https://docs.docker.com/compose/install/

Docker-compose — пакетный менеджер (по аналогии с composer и npm, только у docker — контейнеры), позволяющий описывать необходимую структуру в одном файле (конфиге).

Для его установки нужно выполнить команду:

$ 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
$ docker-compose --version
$ sudo rm /usr/local/bin/docker-compose

pip install docker-compose
pip uninstall docker-compose


ошибки
Как устранить ошибку "Cannot connect to the Docker daemon" Error
https://stackoverflow.com/questions/48568172/docker-sock-permission-denied

unix /var/run/docker.sock: connect: permission denied
sudo usermod -aG docker $USER

Изменение групп пользователя не меняет существующие логины, терминалы и оболочки, открытые пользователем. Чтобы избежать повторного входа в систему, вы можете просто запустить:
$ newgrp docker
чтобы получить доступ к этой группе в вашей текущей оболочке.

Как только вы это сделаете, пользователь фактически получит root-доступ к серверу, поэтому делайте это только для пользователей, которым доверен неограниченный доступ sudo.

------------------------------------------------------------------------
docker: Error response from daemon: failed to create endpoint on network bridge: failed to add the host (veth77bc8b1) <=> sandbox (vethebb0068) pair interfaces: operation not supported.

ядро собрано без veth.ko, в .config должно быть CONFIG_VETH=m

если ядро правильно собрано, но ошибка есть, проверить iptables -L



https://wiki.russianfedora.pro/index.php?title=Docker
Полное практическое руководство по Docker: с нуля до кластера на AWS
Docker: заметки веб-разработчика. Итерация первая
https://y-gagar1n.github.io/hows-that-again/blog/docker
Linux Docker 0.9 - краткое практическое руководство
https://runebook.dev/ru/docs/docker/engine/reference/builder/index
https://docs.docker.com/network/
docker: network

подборка по виртуализации и облакам
centos docker yii




образы для установки
linux
http://mirrors.kernel.org/
------------------------------------------------------------------------
http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/
http://cdimage.debian.org/cdimage/release/current/
debian mini netinstall
https://files.devuan.org/

https://cdimage.ubuntu.com/ubuntu-mini-iso/
http://cdimage.ubuntu.com/releases/
http://cdimage.ubuntu.com/netboot/
http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/
https://neon.kde.org/download
https://files.kde.org/neon/images/user/current/
https://www.bandshed.net/avlinux/
https://ubuntustudio.org/download/
http://cdimage.ubuntu.com/ubuntustudio/releases/
http://cdimage.ubuntu.com/xubuntu/releases/
http://cdimage.ubuntu.com/mythbuntu/releases/

https://www.linuxmint.com/download.php
https://www.linuxmint.com/download_all.php

https://mxlinux.org/wiki/system/iso-download-mirrors/
https://antixlinux.com/download/
https://www.q4os.org/downloads1.html
https://wmlive.rumbero.org/

https://crunchbangplusplus.org/#download
https://www.bunsenlabs.org/installation.html

https://tile-os.com/
https://gitlab.com/tile-os

https://spirallinux.github.io/

http://runtu.org/runtu/download.html
http://download.astralinux.ru/astra/
https://dl.astralinux.ru/astra/stable/

https://trisquel.info/en/download
https://cdimage.trisquel.info/
------------------------------------------------------------------------
https://developers.redhat.com/products/rhel/download
https://wiki.centos.org/Download
https://git.centos.org/ исходники
https://getfedora.org/
https://spins.fedoraproject.org/
https://getfedora.org/ru/coreos/download/
https://alt.fedoraproject.org/alt/
https://dl.fedoraproject.org/pub/fedora/linux/releases/
http://scientificlinux.org/
http://ftp.scientificlinux.org/linux/scientific/
http://yum.oracle.com/oracle-linux-isos.html
oracle minimal boot iso
https://github.com/oracle/centos2ol
https://repo.almalinux.org/almalinux/
http://repo.virtuozzo.com/vzlinux/
https://repo.openeuler.org/ (Huawei)
https://springdale.math.ias.edu/
https://rockylinux.org/download/

http://downloads.naulinux.ru/pub/NauLinux/sites/
https://redos.red-soft.ru/downloads/

https://www.alcancelibre.org/aldos
------------------------------------------------------------------------
https://download.opensuse.org/tumbleweed/iso/
https://download.opensuse.org/distribution/
------------------------------------------------------------------------
https://www.archlinux.org/download/
https://archlinuxarm.org/about/downloads
https://endeavouros.com/download/
https://endeavouros.com/latest-release/
https://manjaro.org/download/
https://cachyos.org/download/
https://artixlinux.org/download.php - без systemd
https://ctlos.github.io/
https://github.com/ctlos/ctlosiso/releases
https://arcolinux.com/
https://blackarch.org/downloads.html
https://web.obarun.org/ - арч без systemd
https://archbang.org/links/
https://www.hyperbola.info/
https://repo.hyperbola.info:50000/other/live_images/gnu-plus-linux-libre/hyperbola-milky-way-latest/

https://gitlab.archlinux.org/archlinux/archiso
https://archlinux.org/packages/extra/any/archinstall/
https://github.com/archlinux/archinstall
/usr/share/archiso/configs/releng/
https://github.com/archlinux/archinstall/blob/master/examples/guided.py
https://github.com/archlinux/archinstall/blob/master/examples/minimal.py
sudo pacman -S archinstall
Предполагая, что вы используете Live-ISO Arch Linux и загрузились в режиме EFI
python -m archinstall guided
https://github.com/Torxed/archinstall_gui

https://github.com/MatMoul/archfi

https://alci.online/
https://github.com/arch-linux-calamares-installer
https://github.com/arch-linux-calamares-installer/alci-iso
https://github.com/arch-linux-calamares-installer/alci-iso-pure
https://sourceforge.net/projects/alci/files/alci-iso-pure/
https://sourceforge.net/projects/alci/

https://github.com/nwg-piotr/nwg-iso

https://github.com/helmuthdu/aui
https://github.com/ordanax/arch
------------------------------------------------------------------------
https://kde.org/linux/
https://community.kde.org/KDE_Linux
https://kde.org/linux/install/
https://files.kde.org/kde-linux/
------------------------------------------------------------------------
https://store.steampowered.com/steamos/SteamOS
https://help.steampowered.com/ru/faqs/view/65B4-2AA3-5F37-4227
https://steamdeck-images.steamos.cloud/recovery/
------------------------------------------------------------------------
https://kaosx.us/pages/download/
------------------------------------------------------------------------
https://www.mageia.org/ru/downloads/
https://www.openmandriva.org/
http://en.rosalinux.com/downloads/
https://www.rosalinux.ru/rosa-linux-download-links/
------------------------------------------------------------------------
http://ftp.altlinux.org/pub/distributions/ALTLinux/
https://www.altlinux.org/Starterkits/Download
------------------------------------------------------------------------
https://mirrors.slackware.com/slackware/slackware-iso/
http://slackware.uk/
https://slackware.uk/zenwalk/
http://www.slackel.gr
https://slackel.sourceforge.io
http://slarm64.org/
http://www.absolutelinux.org/download.html
https://www.salixos.org/download.html
http://download.zenwalk.org/
https://www.frugalware.org/download
http://cyti.latgola.lv/ruuni/
http://porteus.org/
https://www.slax.org/
------------------------------------------------------------------------
https://nixos.org/nixos/download.html
https://guix.gnu.org/download/
https://ftp.gnu.org/gnu/guix/
https://voidlinux.org/download/
https://alpinelinux.org/downloads/
https://www.adelielinux.org/download/
https://repo.chimera-linux.org/live/latest/
https://crux.nu/Main/Download
https://crux.nu/portdb/
------------------------------------------------------------------------
https://www.gentoo.org/downloads/
https://wiki.calculate-linux.org/ru/
https://www.sabayon.org/download/
------------------------------------------------------------------------
https://asahilinux.org/
------------------------------------------------------------------------

https://kiss.armaanb.net/
https://github.com/kiss-community
https://mls.akdeniz.edu.tr/iso/

https://www.glaucuslinux.org/
https://github.com/glaucuslinux/glaucus/releases

https://www.yoctoproject.org/
https://radix.pro/

http://www.linuxfromscratch.org/
https://book.linuxfromscratch.ru/
https://repo.linuxfromscratch.ru/
https://gitlab.com/Umvirt/lfsautobuilder
https://umvirt.com/linux/autobuilder
https://downloads.umvirt.com/ulfsvm/0.2/ulfsbe/
https://umvirt.com/git/lfsautobuilder/
https://umvirt.com/linux/downloads.html
------------------------------------------------------------------------
https://blendos.co/
------------------------------------------------------------------------
https://endlessos.com/
https://www.endlessos.org/

https://pop.system76.com/
https://carbon.sh/
https://tauos.co/
https://vanillaos.org/
https://wiki.gnome.org/GnomeOS/
------------------------------------------------------------------------

https://chromium.arnoldthebat.co.uk/
https://galliumos.org/download
https://galliumos.org/releases/
https://chrx.org/
https://github.com/reynhout/chrx
------------------------------------------------------------------------

https://developers.google.com/android/images/
https://developer.android.com/topic/generic-system-image/releases
https://developer.android.com/preview/gsi-release-notes
https://developers.google.com/android/ota
https://download.lineageos.org/extras
https://www.android-x86.org/
https://www.blissos.org/
https://www.neverware.com/freedownload#intro-text
------------------------------------------------------------------------
Microsoft linux
https://github.com/microsoft/CBL-Mariner
https://github.com/microsoft/azurelinux/
https://aka.ms/azurelinux-3.0-x86_64.iso
------------------------------------------------------------------------

Многообразие Linux-дистрибутивов

history UNIX
https://github.com/dspinellis/unix-history-repo

BSD
http://ftp.freebsd.org/pub/FreeBSD/releases/
https://www.freebsd.org/ru/where.html
https://mirrors.nomadlogic.org/nomadbsd/
https://mirrors.nomadlogic.org/ravynOS/releases/

http://cdn.openbsd.org/pub/OpenBSD/
https://www.openbsd.org/faq/faq4.html#Download
http://fuguita.org/ livecd openbsd

https://cdn.netbsd.org/pub/NetBSD/
https://www.netbsd.org/

http://mirror-master.dragonflybsd.org/iso-images/
http://www.puredarwin.org/

https://www.midnightbsd.org/download/


solaris
https://illumos.org/docs/about/distro/
https://www.openindiana.org/download/
http://dlc.openindiana.org/isos/hipster/latest/
https://www.openindiana.org/downloads/
https://downloads.omniosce.org/media/stable/
https://omnios.org/download.html
https://wiki.smartos.org/display/DOC/Download+SmartOS
https://wiki.smartos.org/download-smartos/
http://www.tribblix.org/download.html

plan9
http://www.vitanuova.com/inferno/downloads.html
http://9p.io/plan9/download.html
http://9front.org/iso/
https://github.com/brho/akaros
https://github.com/Harvey-OS
https://github.com/JehanneOS/jehanne/
http://lsub.org/ls/projects.html

Redox
https://www.redox-os.org/

RTEMS
https://www.rtems.org/
https://ftp.rtems.org/pub/rtems/releases/

QNX
http://www.qnx.com/download/index.html
http://www.qnx.com/download/group.html?programid=16780

GNU Hurd
https://www.debian.org/ports/hurd/hurd-cd
https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/
https://people.debian.org/~sthibault/hurd-i386/installer/cdimage/
https://d-i.debian.org/daily-images/hurd-i386/
http://www.archhurd.org/download/
https://files.archhurd.org/iso/
https://www.gnu.org/software/hurd/hurd/running/qemu.html

MINIX
http://download.minix3.org/iso/

AmigaOS
https://www.haiku-os.org/get-haiku/
http://aros.sourceforge.net/ru/download.php
http://www.icarosdesktop.org/

Kolibri
http://www.kolibrios.org/ru/

MenuetOS
http://www.menuetos.net/

ToaruOS
https://github.com/klange/toaruos/releases/

Embox
https://github.com/embox/embox
http://emboxing.ru/
http://www.embox.rocks/

https://toaruos.org/
http://www.ponyos.org/
https://www.templeos.org/
------------------------------------------------------------------------

винда
https://www.microsoft.com/en-us/evalcenter/
https://tb.rg-adguard.net/public.php
https://heidoc.net/php/myvsdump.php
https://rentry.co/win10thread
https://massgrave.dev/
https://github.com/massgravel/Microsoft-Activation-Scripts
https://github.com/abbodi1406/KMS_VL_ALL_AIO
Windows Embedded Standard 2009
Windows Embedded 7
Windows XP
Windows Server 2003
https://msdn.lol-inter.net/
https://github.com/mauricew/msdnhash

http://www.colinux.org/
https://andlinux.sourceforge.io/downloads.php

React OS
https://reactos.org/download/

OS/2
eComStation
OS/2 Warp 4.0x
OS/2 Warp 4.52

DOS
https://www.freedos.org/
http://old-dos.ru/
http://fdd5-25.net/doslivecd/
http://www.fdd5-25.net/guishells.htm
PTS-DOS

Разные OS
https://wiki.osdev.org/Projects

музей OS
https://archiveos.org/
https://www.tuhs.org/
https://winworldpc.com/library/operating-systems

интернет архив
https://archive.org/


OS заточенные для виртуализации и контейнеров
сброс пароля в виртуалке
сброс пароля
sudo virt-edit -d название_виртуалки /etc/shadow
virt-sysprep --root-password password:123456 -a guest.img
Fedora Cloud Base Images
virt-sysprep -a образ.qcow2 --root-password password:12345678 --selinux-relabel


https://updates.xcp-ng.org/isos/
https://github.com/89luca89/distrobox
https://genode.org/
https://genode.org/files/sculpt/

https://mirrors.kernel.org/

https://stable.release.core-os.net/amd64-usr/current/
https://alpinelinux.org/downloads/
https://www.qubes-os.org/
https://wiki.centos.org/Download
http://cloud.centos.org/centos/
http://cloud.centos.org/centos/7/atomic/images/
https://alt.fedoraproject.org/cloud/
https://developer.ubuntu.com/core/get-started/kvm
https://distfiles.gentoo.org/releases/amd64/autobuilds/20241108T200358Z/

https://katacontainers.io/
https://www.clearlinux.org/
https://www.redhat.com/en/technologies/cloud-computing/openshift
https://ubuntu.com/core
https://microos.opensuse.org/
https://www.tritondatacenter.com/smartos
https://www.balena.io/os
https://github.com/vmware/photon/wiki/Downloading-Photon-OS
https://github.com/getumbrel/umbrel

https://cdimage.debian.org/cdimage/cloud/
http://cdimage.ubuntu.com/ubuntu-core/
https://build.opensuse.org/image_templates
https://cloud-images.ubuntu.com/
https://vault.astralinux.ru/images/
https://download.freebsd.org/ftp/releases/VM-IMAGES/
https://github.com/rancher/os/releases/
http://www.projectatomic.io/download/
https://coreos.com/os/docs/latest/booting-with-iso.html
https://vmware.github.io/photon/
https://github.com/boot2docker/boot2docker/releases
https://hub.docker.com/explore/

https://www.turnkeylinux.org/all

https://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html

FreeBSD based distro for virtual hosting platform and appliance
https://clonos.tekroutine.com/download.html
https://myb.convectix.com/download/

https://www.proxmox.com/en/downloads/category/proxmox-virtual-environment

https://www.microsoft.com/en-us/software-download/windows10
https://www.microsoft.com/ru-ru/evalcenter/evaluate-windows-server
Microsoft® Hyper-V™ Server 2008 R2
https://www.microsoft.com/en-us/download/search.aspx?q=msvhds


наборы настроенных виртуалок
https://www.osboxes.org/
https://www.turnkeylinux.org/
https://mirror.turnkeylinux.org/turnkeylinux/images/

https://freedombox.org/download/stable/

разные wm с gns3.com (нажать на APPLIANCES вверху)
https://docs.gns3.com/appliances/cumulus-vx.html

https://openvpn.net/vpn-server-resources/deploying-the-access-server-appliance-on-vmware-esxi/
https://openvpn.net/downloads/openvpn-as-latest-vmware.ova
https://openvpn.net/vpn-server-resources/deploying-the-access-server-appliance-on-hyper-v/
https://openvpn.net/downloads/openvpn-as-latest-hyperv.zip

https://developer.microsoft.com/ru-ru/windows/downloads/virtual-machines
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
Бесплатные VM с Windows для тестирования сайтов на старых версиях IE


Сборник образов ОС для BOCHS и QEMU

образы docker
https://distrobox.it
https://github.com/Dvlv/BoxBuddyRS

https://hub.docker.com/_/scratch
https://hub.docker.com/_/alpine
https://hub.docker.com/_/centos
https://hub.docker.com/_/fedora
https://hub.docker.com/_/debian
https://hub.docker.com/_/ubuntu
https://hub.docker.com/_/ubuntu-debootstrap
https://hub.docker.com/_/opensuse
https://hub.docker.com/r/nixos/nix
https://hub.docker.com/_/crux
https://hub.docker.com/_/mageia
https://hub.docker.com/_/alt
https://hub.docker.com/r/chimeralinux/chimera
https://nest.parrotsec.org/build/docker-images/
https://hub.docker.com/_/sourcemage
https://hub.docker.com/_/busybox

https://hub.docker.com/publishers/oracle
https://hub.docker.com/_/amazonlinux
https://hub.docker.com/_/kong
https://hub.docker.com/_/neurodebian
https://hub.docker.com/u/cumulusnetworks

https://hub.docker.com/r/vbatts/slackware
https://hub.docker.com/r/yukoff/slackware-32bit
------------------------------------------------------------------------
https://hub.docker.com/r/hectormolinero/qemu-reactos
https://github.com/hectorm/docker-qemu-reactos
------------------------------------------------------------------------
Запуск Windows-контейнеров под Linux и MacOS
https://github.com/dockur/windows
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v ${PWD:-.}/windows:/storage --stop-timeout 120 dockurr/windows
https://github.com/dockur/macos
docker run -it --rm --name macos -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v ${PWD:-.}/macos:/storage --stop-timeout 120 dockurr/macos
------------------------------------------------------------------------
https://hub.docker.com/publishers/microsoftowner
https://hub.docker.com/_/microsoft-windows-base-os-images
https://hub.docker.com/_/microsoft-windows
https://hub.docker.com/_/microsoft-windows-servercore
https://hub.docker.com/_/microsoft-windows-nanoserver
------------------------------------------------------------------------
https://hub.docker.com/r/adelton/freeipa-server/
------------------------------------------------------------------------
https://hub.docker.com/r/harveyos/harvey/
------------------------------------------------------------------------
https://hub.docker.com/_/docker
https://hub.docker.com/_/docker-dev

https://hub.docker.com/_/nginx
https://hub.docker.com/r/nginx/unit/

https://hub.docker.com/_/postgres
https://hub.docker.com/_/mariadb

https://hub.docker.com/_/python
https://hub.docker.com/_/pypy
https://hub.docker.com/_/anaconda
https://hub.docker.com/_/django
https://hub.docker.com/_/plone


https://hub.docker.com/_/php
https://hub.docker.com/_/composer
https://hub.docker.com/_/php-zendserver
https://hub.docker.com/_/joomla
https://hub.docker.com/_/drupal
https://hub.docker.com/_/mediawiki
https://hub.docker.com/u/yiisoftware
https://phpdocker.io/generator

https://hub.docker.com/_/node

https://hub.docker.com/_/openjdk
https://hub.docker.com/_/perl
https://hub.docker.com/_/ruby
https://hub.docker.com/_/rails
https://hub.docker.com/_/golang
https://hub.docker.com/_/haskell
https://hub.docker.com/_/hello-world

https://hub.docker.com/r/phusion/baseimage
------------------------------------------------------------------------
https://github.com/GoogleContainerTools/jib

https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine-musl
https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine

https://github.com/Dixaba/qt5-gcc-cross
https://github.com/sqglobe/SimpleQtProject/tree/master/docker
------------------------------------------------------------------------
https://hub.docker.com/r/schuellerf/xfce-test/tags

------------------------------------------------------------------------
может пригодится
https://mxe.cc/
------------------------------------------------------------------------
Subuser превращает контейнеры Docker в обычные программы Linux
сборка с браузером и крысой
https://github.com/ConSol/docker-headless-vnc-container
https://hub.docker.com/r/creack/firefox-vnc
https://hub.docker.com/r/amanral/ubuntu-firefox/

использование Docker для запуска всех настольных приложений на компьютере
Контейнеры Docker на рабочем столе
https://github.com/jessfraz/dockerfiles
https://hub.docker.com/u/jess
------------------------------------------------------------------------
5.94-метровый docker-образ с Telegram MTProxy
https://hub.docker.com/r/telegrammessenger/proxy/
https://hub.docker.com/r/alexdoesh/mtproxy/

------------------------------------------------------------------------
OpenVPN
https://hub.docker.com/r/umputun/dockvpn
https://github.com/umputun/dockvpn
------------------------------------------------------------------------


OS заточенные на безопасность
https://www.kali.org/
https://blackarch.org/
https://www.backbox.org/
https://www.parrotsec.org/
https://fedoraproject.org/labs/security
http://www.deftlinux.net/
http://www.samurai-wtf.org/
https://www.pentoo.ch/
http://bugtraq-team.com/
https://archstrike.org/
https://sourceforge.net/projects/nst/files/
http://www.samuraiwtf.org/
https://tails.boum.org/
https://tails.net/
https://www.qubes-os.org/
https://docs.remnux.org/install-distro/get-virtual-appliance

https://www.whonix.org/wiki/VirtualBox
https://www.whonix.org/wiki/KVM#


ремонтные образы
https://www.hirensbootcd.org/download/
https://www.hirensbootcd.org/old-versions/
http://www.ultimatebootcd.com/
https://www.supergrubdisk.org/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk
http://www.system-rescue-cd.org/Old-versions/
http://www.system-rescue-cd.org/Download/
https://distfiles.gentoo.org/releases/amd64/autobuilds/current-admincd-amd64/
https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/
https://www.altlinux.org/Rescue
https://clonezilla.org/downloads.php
https://gparted.org/download.php
https://rescuezilla.com/download.html
https://github.com/rescuezilla/rescuezilla/releases
https://sourceforge.net/p/boot-repair-cd/home/ru/
https://www.supergrubdisk.org/category/download/
https://github.com/minios-linux/minios-live/releases
https://grml.org/download/
https://github.com/leahneukirchen/hrmpf
https://mfsbsd.vx.sk/
https://debiandog.github.io/doglinux/
https://nomadbsd.org/download.html
http://knopper.net/knoppix-mirrors/index-en.html
http://frenzy.org.ua/ru/releases/1.4/download.shtml
https://www.hddsuperclone.com/hddlivecd/download
https://ab57.ru/soft/erd50.iso
https://white55.ru/soft/dart10.iso
https://hdd.by/Victoria/vcr35cd.zip
https://hdd.by/Victoria/mhdd32ver4.6iso.zip
https://hdd.by/Victoria/Windows7-10PE.zip

опции загрузки system-rescue-cd
https://www.system-rescue.org/manual/Booting_SystemRescue/
https://www.system-rescue.org/scripts/reverse_ssh/
nofirewall останавливает службы iptables и ip6table, которые включены по умолчанию, нужно для подключения по ssh
rootpass=password123 : Устанавливает пароль root для системы, работающей на livecd, равным password123, нужно для подключения по ssh
dovnc Автоматически запускать VNC-сервер для удалённого подключения через графический сеанс.
vncpass=password123 Задаёт пароль VNC для удалённого подключения. Без этой опции подключения к VNC-серверу не будут ограничены
setkmap=xx определяет, какую раскладку клавиатуры настроить в системе, где xx соответствует коду раскладки клавиатуры.

systemctl stop iptables.service
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -F очищает все правила во всех цепочках брандмауэра, а также удаляет все пользовательские цепочки, если применить с опцией -X


скачать с sourceforge.net





минимальные загрузочные образы
https://ru.m.wikipedia.org/wiki/Категория:Миниатюрные_дистрибутивы_Linux
https://www.alpinelinux.org/downloads/
https://crux.nu/Main/Download
https://files.devuan.org/devuan_ascii/minimal-live/
https://wiki.calculate-linux.org/ru/cls
https://www.slax.org/
http://porteus.org/
https://github.com/minios-linux/minios-live
http://www.gnustep.org/
https://wmlive.sourceforge.net/
http://www.tinycorelinux.net/
http://minimal.linux-bg.org/#home
https://github.com/ivandavidov/minimal
http://www.puppylinux.com/
http://wiki.puppyrus.org/distr
http://www.slitaz.org/ru/get/
https://mfsbsd.vx.sk/
https://mfsbsd.vx.sk/files/iso/
Floppinux — Linux, умещенный на дискету
https://github.com/w84death/floppinux


специализированные образы
https://t2sde.org/
http://dl.t2-project.org/binary/2022/

https://bedrocklinux.org/
https://github.com/bedrocklinux/bedrocklinux-userland


https://ubuntustudio.org/download/
http://www.bandshed.net/avlinux/
http://download.linuxaudio.org/avlinux/
http://www.linuxmce.org/
https://openelec.tv/documentation/installing-openelec
https://www.openflixr.com/#Download
https://www.daphile.com/
https://libreelec.tv/

http://tug.org/texlive/acquire-iso.html
http://mirror.macomnet.net/pub/CTAN/systems/texlive/Images/

http://www.aiei.ch/gnustep/
http://mirror.noone.org/gnustep/
http://nightly.altlinux.org/p9/permalink/
http://www.gnustep.org/
https://wmlive.sourceforge.net/

https://freedombone.net/downloads/
https://freedombox.org/download/stable/
https://packages.qa.debian.org/f/freedombox-setup.html

https://downloads.openwrt.org/releases/
https://cumulusnetworks.com/
https://mikrotik.com/download
https://zeroshell.org/download/
https://www.vyos.io/
https://www.pfsense.org/download/
https://sgpfiles.pfsense.org/mirror/downloads/
https://opnsense.org/download/


https://freenas.org/download/
https://www.ipfire.org/
https://www.freepbx.org/downloads/
https://www.proxmox.com/en/downloads/category/proxmox-mail-gateway

https://github.com/getumbrel/umbrel

https://www.automotivelinux.org/software/download

https://store.steampowered.com/steamos/

http://downloads.artix.su/static/

https://www.nethserver.org/
https://zentyal.com/
https://www.univention.com/products/ucs/
https://www.clearos.com/

https://www.webosose.org/
https://github.com/webosose/build-webos/releases

https://porteus-kiosk.org/

https://steamdeck-images.steamos.cloud/recovery/

https://thinstation.github.io/thinstation/

https://dent.dev/dentos/
https://github.com/dentproject/dentOS/wiki/Installation

https://genode.org/index


------------------------------------------------------------------------
https://www.yoctoproject.org/
https://www.yoctoproject.org/software-overview/downloads/

https://radix.pro/
https://github.com/radix-platform

https://www.armbian.com/
https://github.com/NickAlilovic/build

------------------------------------------------------------------------
https://www.blackmagicdesign.com/ru/products/davinciresolve/
https://sethgoldin.github.io/install-davinci-resolve-centos/
http://downloads.blackmagicdesign.com/DaVinciResolve/DaVinci-Resolve-Linux-14.3-CentOS_7.3.iso
http://downloads.blackmagicdesign.com/DaVinciResolve/DaVinci-Resolve-Linux-14.3-CentOS_7.3.txt
------------------------------------------------------------------------


Установка
варианты установок
https://netboot.xyz/
https://netboot.xyz/booting/ipxe/
Админу на заметку - 26. Как установить любой популярный Linux по сети используя netboot.xyz
Автоматическая установка centos с kickstart

записать на флешку
в консоли
или удобной программе
http://wiki.rosalab.ru/ru/index.php/ROSA_ImageWriter
https://github.com/ventoy/Ventoy/releases
https://github.com/slacka/WoeUSB
https://unetbootin.github.io/
http://multibootusb.org/
https://etcher.io/

http://itfound.ru/89-debian-cdrom-no-detect.html
Поиск и монтирование CD-ROM
Стандартный CD-ROM не обнаружен

Detect and mount CD-ROM
No common CD-ROM drive was detected

Достаточно сменить режим работы с IDE на AHCI.
Advanced->Sata Configuration->Sata Mode Selection. И меняем с IDE на AHCI. Сохраняем настройки

если не помогло, то установка через
http://wiki.rosalab.ru/ru/index.php/ROSA_ImageWriter

если в ходе установки grub неправильно определил диск
https://debianforum.ru/index.php?topic=561.0
https://www.linux.org.ru/forum/linux-install/6670538

то загрузиться с лайвсд и переустановить grub, подправив fstab и grub.conf

https://blog.amet13.name/2014/02/linux-grub2.html
Мультизагрузочная флешка с несколькими ОС Linux

ошибки при установке
https://wiki.archlinux.org/index.php/Syslinux_(Русский)
https://wiki.syslinux.org/wiki/index.php?title=Library_modules

vesamenu.c32 not a com32r image
gfxboot.c32 not a com32r image
Быстрый способ решить эту проблему - нажать клавишу TAB, компьютер предоставит текстовое меню с вашими опциями, т.е. live live-install test etc.
или help
Копируем файлы /syslinux/isolinux.bin и /syslinux/vesamenu.c32 c образа диска Ubuntu на флэшку.

Failed to load ldlinux.c32
Boot failed: please change disks and press a key to continue.
Значит вы записали флешку для UEFI и достаточно выбрать соответствующий пункт в меню загруки (жми F8 в самом начале загрузки компьютера), в котором название флешки предваряется «UEFI:»

решилось с помощью
http://wiki.rosalab.ru/ru/index.php/ROSA_ImageWriter


сборка образов под свои нужды



развернуть
https://t2sde.org/
https://t2sde.org/handbook/html/index.html
https://www.linux-live.org/

https://wiki.archlinux.org/index.php/Archiso_(Русский)

https://wiki.debian.org/ru/Debootstrap
Ставим Ubuntu/Debian через debootstrap из другой Linux-системы
Reproducible Live images Debian
Создание собственного дистрибутива на базе Ubuntu с нуля
Debian 12.3. Автоматизированная установка Simple-CDD
Добавление пакетов к автономному установщику Lubuntu Alternate ISO
Простая кастомизация Ubuntu LiveCD
Как сделать свою сборку Ubuntu LiveCD в три простых шага
Кастомный LiveCD Ubuntu за 5 шагов / Ubuntu LiveCD Remastering
Настройка ISO-образов Ubuntu: документация и примеры использования isorespin.sh
https://help.ubuntu.com/community/LiveCDCustomization
https://help.ubuntu.com/community/InstallCDCustomization
Сборка KDE4 для Slackware 15.0 в стиле KTown — сборка на основе патчей PBSLACKS.
https://github.com/BrunoLafleur/pbslacks

Как создать образ диска в Linux с несколькими разделами, не имея физического образца
Создаем свой загрузочный диск Linux
Раскрываем секреты загрузочных ISO-образов

Анализ и разбивка составных файлов (прошивки, образы дисков)

https://www.altlinux.org/Mkimage/Profiles/m-p/howto
http://nightly.altlinux.org/docs/mkimage-profiles.html
https://www.altlinux.org/Mkimage/FAQ
https://www.altlinux.org/Starterkits/builder
https://www.altlinux.org/Starterkits
https://www.altlinux.org/UEFI

booty - утилита для создания загрузочных образов и накопителей
скрипт "Proxmox на минималках"
https://github.com/sp00f1ng/booty
https://github.com/Tomas-M/linux-live
https://github.com/neobht/uird
https://github.com/unixabg/remaster-iso
https://github.com/zac87/debootstrap_live
https://github.com/sharhalakis/fsprotect

https://github.com/livecd-tools/livecd-tools

cubic
http://ubuntu.fliplinux.com/cubic.html
https://linuxthebest.net/kak-sozdat-svoyu-sborku-linux/
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
sudo apt update
sudo apt install cubic


Автоматическая установка с kickstart (uzverss установка dokuwiki centos php nginx)

How to create and use a Live CD/ru
Исполнители желаний: обзор конструкторов популярных Linux дистрибутивов
Использование LiveCD для создания пользовательского CentOS .ISO
https://build.opensuse.org/image_templates
Создание образа системы в Linux
Восемь утилит для создания своего собственного дистрибутива Linux
Создание образа Ubuntu для ARM «from scratch»

LinuxCOE SystemDesigner - это веб-приложение, которое позволяет пользователю последовательно устанавливать, настраивать и поддерживать установки системы Linux.

https://www.linux-live.org/
http://www.linuxrespin.org/
https://github.com/Distroshare/distroshare-ubuntu-imager
Create Your Own Linux Distro with Ubuntu Imager
http://www.slax.org/en/modules.php
https://chris-lamb.co.uk/projects/live-magic
http://linuxcoe.sourceforge.net/
http://www.linuxfromscratch.org/

https://openbuildservice.org/
https://wiki.debian.org/AutomateBackports

https://www.packer.io/
https://github.com/go-debos/debos
https://github.com/puppylinux-woof-CE/woof-CE

Создание образа (ов) Thinstation desktop OS.

https://github.com/osboot/make-initrd
https://www.altlinux.org/Make-initrd
Модифицируем процесс загрузки с помощью утилиты make-initrd
Создание загрузочных образов boobstrap v1.0
https://www.linuxfromscratch.org/blfs/view/systemd/postlfs/initramfs.html
man mkinitramfs update-initramfs make-kpkg

запись iso на usb с uefi
fdisk -l
fdisk /dev/sdb
o, n, p, t, ef, a, w
mkfs.vfat -F 32 -n INSTALLER /dev/sdb1
mount /dev/sdb1 /mnt/usb
mount -o loop Downloads/iso/образ.iso /mnt/iso/
cp -rfPp /mnt/iso/* /mnt/usb
sync
отмонтировать флкешку

create_installer_flash.sh




сделать загрузочную iso
OUTPUT=название_исошки
ISO_LABEL=название_раздела
ISO_DIR=каталог_с_исошкой
genisoimage -o "$OUTPUT" -D -J -r -l -b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "${ISO_LABEL}" "$ISO_DIR"
isohybrid "$OUTPUT"

монтирование
mount -t iso9660 -o ro /dev/cdrom /cdrom

fdisk -lu arch-live-usb_201105070115.img
mount -t auto -o loop,offset=$((2048*512)) arch-live- usb_201105070115.img /mnt/

ls /dev/mapper
losetup -a
kpartx -av sysresccd.img
kpartx -dv sysresccd.img
losetup --partscan --find --show sysresccd.img
mount /dev/loop1 -o loop /mnt/img
losetup -d /dev/loop1

перепаковка iso
вбиватся от рута, заменяя имя исошки на нужное

mkdir -p /mnt/cdrom /mnt/iso
ISO_INPUT="название_исошки.iso"
mount -o loop /opt/iso/${ISO_INPUT} /mnt/cdrom
cp -rfPp /mnt/cdrom/* /mnt/iso
ISO_OUTPUT="новое_название_исошки.iso"
ISO_LABEL="название_раздела"
ISO_DIR="/mnt/iso"
ISO_PARAMS="-b EFI/BOOT/efiboot.img -no-emul-boot -eltorito-alt-boot"

редактируется что надо, делается это в /mnt/iso
genisoimage -o "${ISO_OUTPUT}" -D -J -r -l ${ISO_PARAMS} -V "${ISO_LABEL}" "${ISO_DIR}"
isohybrid "${ISO_OUTPUT}"
umount /mnt/cdrom
rm -rf /mnt/iso/*

перепаковка initrd.gz
распаковка из под рута:
zcat initrd.gz | cpio -i
запаковать:
find . | cpio -H newc -o | gzip > ../initrd.gz




docker
https://hub.docker.com/_/scratch
https://ru.stackoverflow.com/questions/839297/Как-получить-docker-образ-астралинукса-ce
создать минимальный chroot и из него — образ:
$ sudo tar -C каталог-с-chroot-ом -c . | docker import - название-образа

https://www.linuxquestions.org/questions/slackware-14/slackware-64-14-2-chroot-4175615212/
https://docs.slackware.com/howtos:general_admin:setting_up_a_slackware_chroot

Автоматически
http://tty1.uk/scripts/slackware/mkchroot
Вручную
Сначала создайте папку, которая будет содержать chroot:
mkdir /chroot_folder
Монтируем установочный ISO:
mount -o loop slackware-14.1-install-dvd.iso /mnt/cdrom # файл iso
mount -t iso9660 -o ro /dev/cdrom /cdrom # диск в cdrom
cd /mnt/cdrom
После монтирования ISO пакеты (находящиеся в папке slackware или slackware64 ) можно установить в папку chroot с помощью:
installpkg --root /chroot-folder */*.t?z
Затем размонтируйте ISO:
umount /mnt/cdrom

быстрый способ



tar -czvf chroot-slask.tar.gz chroot/
tar -xavf chroot-slask.tar.gz
tar -C chroot -c . | docker import - slackware64

С помощью boxer
pip install funtoo-boxer
$ boxer docker --tag funtoo/boxer-generic_64:2022-06-16 --stage /var/tmp/stage3-generic_64-next-2022-06-16.tar.xz
$ docker run -d --name=foobs funtoo/boxer-generic_64:2022-06-16
$ docker exec -it foobs /bin/bash

увеличить диск на виртуалке
qemu-img resize виртуалка.qcow2 +10G
parted
(parted) select /dev/sda
(parted) print
(parted) resizepart
Partition number? 1
End? [10.0GB]? 30G
(parted) quit
resize2fs /dev/sda1


docker команды
docker image ls
docker run --rm -it slackware64 /bin/bash # опция --rm -если надо чтобы потом контейнер был автоматически удалён

копирование
docker run -v /каталог_на_компе:/каталог_в контейнере
Скопировать файл с хоста в контейнер:
$ docker cp foo.txt имя_контейнера:/foo.txt
Скопировать файл с Docker-контейнера на хост:
$ docker cp имя_контейнера:/foo.txt foo.txt
docker export имя_контейнера | docker import - slackware64-mini
docker save slackware64-mini > slackware64-mini.tgz
docker load -i slackware64-mini.tgz

https://github.com/docker-library/docs
https://docs.docker.com/engine/reference/builder/
Create docker image from scratch
Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps
Как создать наименьший возможный контейнер Docker из любого образа
OpenWrt как родной образ Docker
Распаковка образов Docker с помощью Undocker
https://github.com/moby/moby/blob/master/contrib/mkimage-alpine.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-arch.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-crux.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-yum.sh
Создание базовых изображений

chroot
Настройка необходимых файлов
fstab
Следующий минимальный фрагмент можно использовать для /chroot_folder/etc/fstab



Вход в Chroot
Далее нам нужно подготовить три виртуальных каталога для использования в среде. Это /dev, каталог с виртуальными файлами, представляющими аппаратные устройства, /proc, каталог с виртуальными файлами, представляющими процессы, и /sys, содержащий ядро ​​и другие системные файлы:
mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys

Чтобы смонтировать chroot на постоянной основе, добавьте следующее в /etc/fstab вашей хост-системы :



И перезагрузиться. Затем выполните следующую команду, чтобы смонтировать папку chroot:
mount /chroot_folder
Теперь, когда chroot настроен, в него можно выполнить chroot:
chroot /chroot_folder /bin/bash

https://wiki.archlinux.org/title/Chroot
# cd /location/of/new/root
# mount -t proc /proc proc/
# mount -t sysfs /sys sys/
# mount --rbind /dev dev/

винда
Как подготовить свой установочный образ Windows
Создание своего дистрибутива на базе MS Windows 7
MSMG ToolKit
MSMG ToolKit или создаем свой установочный дистрибутив Windows 10
Как создать собственную сборку Windows 10 с помощью инструмента MSMG ToolKit
https://www.ntlite.com/

https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server
Windows Embedded Standard 2009
Windows XP
https://msdn.lol-inter.net/
https://github.com/mauricew/msdnhash

копии оригинальных утечек:
https://github.com/tongzx/nt5src
https://github.com/selfrender/Windows-Server-2003
https://git.kicker.dev/archive/windows-xp
https://git.kicker.dev/archive/windows-server-2003
https://wink.messengergeek.com/t/windows-xp-server-2003-source-code-revisited/22711
https://rentry.co/build-win2k3
Исходный код: https://gg.gg/srv03rtm
Отсутствующие файлы: https://drive.google.com/file/d/1h_v29kNs-XaoitMrXU3rL1cY3kZqUOZg/view
https://archive.org/details/ws03_ntdev
https://archive.org/details/microsoft-leaked-source-code-archive-2020-09-24
https://www.reddit.com/r/windowsxp/comments/iz46du/comment/g6gwcpo/
https://www.limetorrents.lol/Microsoft-leaked-source-code-archive%202020-09-24-torrent-15247398.html
Утечка исходных текстов Windows XP SP1, Windows Server 2003 и других старых ОС






windows_xp_source.rar Password: internaldev


разное
всякое, разное с лора
https://www.linux.org.ru/forum/general/13540544
mkdir /mnt/iso
mount -t iso9660 /home/zenitur/ISO/ubuntu-17.04-desktop-amd64.iso -o loop /mnt/iso
mkdir /mnt/squashfs
mount -t squashfs /mnt/iso/isolinux/filesystem.squashfs -o loop /mnt/squashfs
cd /mnt/squashfs
mkdir /home/zenitur/ubuntu-image
cp -ax ./* /home/zenitur/ubuntu-image
cd /home/zenitur/ubuntu-image
umount /mnt/squashfs
umount /mnt/iso
mount -t proc none /home/zenitur/ubuntu-image/proc
mount --rbind /dev /home/zenitur/ubuntu-image/dev
mount --rbind /sys /home/zenitur/ubuntu-image/sys
chroot /home/zenitur/ubuntu-image
# source /etc/profile
# export PS1="(chroot) $PS1"
(chroot) #

Дальше нужно сгенерировать локали. раскомментировать в /etc/locales локаль en_US.UTF-8, затем выполнить locale-gen
А вот эта команда избавит от WARNING-ов при работе с некоторыми программами (они не фатальны).
mkdir -p /tmp/.private/root

Затем нужно внести изменения, ради которых всё затевалось.

Затем выйти из chroot командой exit. Затем можно, но не обязательно, привести систему к изначальному виду: удалить .bash_history в директории root. Удалить /tmp/.private. Закомментировать локаль обратно. А если устанавливал пакеты - удалить var/cache/apt/archives/*.deb

umount /home/zenitur/ubuntu-image/proc
cat /proc/mounts | awk '{print $2}' | grep "/home/zenitur/ubuntu-image/dev" | sort -r | xargs umount
cat /proc/mounts | awk '{print $2}' | grep "/home/zenitur/ubuntu-image/sys" | sort -r | xargs umount
mksquashfs ./* ../filesystem.squashfs

------------------------------------------------------------------------
сохранить систему в образ
e2image -ar /dev/sdX ~/sdaX.img

https://bootlin.com/pub/conferences/2017/jdll/opdenacker-embedded-linux-in-less-than-4mb-of-ram/opdenacker-embedded-linux-in-less-than-4mb-of-ram.pdf

Загрузочный образ Acronis + VNC + VPN
Менеджер пакетов opkg. Offline инсталляция пакетов в образ корневой файловой системы

slackbuilds.org
https://www.linux.org.ru/gallery/screenshots/13517201?cid=13517584
Исходники можно отзеркалировать так:
rsync -rtLvH --delete-after --delay-updates --safe-links --copy-links --ignore-errors --ignore-existing rsync://slackware.uk/sbosrcarch/by-name/ /mnt/mpt0/system/slackware/sbosrcarch/

Сами слакбилды можно синхронизировать, например, через github: https://github.com/willysr/slackbuilds .

Пакеты и исходники -current ветки тоже можно регулярно синхронизировать с их локальным зеркалом:
rsync -rtLvH --delete-after --delay-updates --safe-links --copy-links --ignore-errors --ignore-existing rsync://mirror.yandex.ru/slackware/slackware64-current/ /mnt/mpt0/system/slackware/slackware64-current/

полезное при сборке linux
http://dl.t2-project.org/binary/2021/
https://www.linuxfromscratch.org/
https://www.linuxfromscratch.org/alfs/
https://www.linuxfromscratch.org/blfs/
https://lx4u.ru/
https://www.lfscript.org/wiki/BuildISO
https://sourceforge.net/projects/lfs-livecd/
https://github.com/emmett1/lfs-scripts
https://github.com/teo-en-ming/teo-en-ming-linux
https://github.com/nobodino/slackware-from-scratch
http://bear.alienbase.nl/cgit/liveslak/tree/make_slackware_live.sh
http://git.liveslak.org/liveslak/tree/iso2usb.sh
# ./iso2usb.sh -i ~/Download/slackware64-live-14.2.iso -o /dev/sdX
# ./iso2usb.sh -P -i ~/Download/slackware64-live-current.iso -o /dev/sdX
# ./iso2usb.sh -i slackware64-live-xfce-current.iso -o /dev/sdX -c 50%

https://www.gnu.org/manual/
https://gcc.gnu.org/onlinedocs/gccint/index.html
https://www.gnu.org/savannah-checkouts/gnu/make/manual/make.html
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html
http://git.savannah.gnu.org/cgit/
https://book.linuxfromscratch.ru/systemv/
https://book.linuxfromscratch.ru/systemv-nc/systemv.txt
https://linuxfromscratch.ru/patches/downloads/
ftp://ftp.lfs-matrix.net/pub/blfs/
http://www.linuxfromscratch.org/lfs/downloads/

https://gcc.gnu.org/wiki/InstallingGCC
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
https://gcc.gnu.org/wiki/FAQ#configure_suffix
https://wiki.osdev.org/GCC_Cross-Compiler
http://ftp.gnu.org/pub/gnu/gcc/
https://github.com/archlinux/svntogit-packages/blob/packages/gcc/trunk/PKGBUILD
https://github.com/archlinux/svntogit-packages/commits/packages/gcc/trunk/PKGBUILD
https://github.com/archlinux/svntogit-packages/blob/822476b38dfe76acca6ec207e7ae99a79263677a/trunk/PKGBUILD

https://docs.microsoft.com/ru-ru/cpp/preprocessor/c-cpp-preprocessor-reference?view=vs-2019

http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
http://git.savannah.gnu.org/cgit/config.git/plain/config.guess



Как сделать простой веб-сайт за один час, часть 1

заглянуть
конфигурации сервера
Ставим LEMP
https://www.hostinger.com/tutorials/how-to-install-lemp-centos7
https://www.cloudjojo.com/how-to-install-nginx-mariadb-php-lemp-on-centos-7/
https://serveradmin.ru/ustanovka-i-nastroyka-nginx-php-fpm-php7-1-na-centos-7/

1) установка nginx
yum install epel-release -y
yum install nginx -y
systemctl start nginx
systemctl enable nginx

2) установка MySQL (MariaDB)
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
MariaDB запросит пароль root, так как это первоначальная установка, и у вас его нет, поэтому просто нажмите enter. Следующее приглашение спросит, хотите ли вы установить пароль root, введите Y и следуйте инструкциям

3) установка PHP v7.3
yum repolist
yum install yum-utils
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
curl -O http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
yum --enablerepo=remi,remi-php73 install php-fpm php-common



обновить php
yum-config-manager --disable remi-php73
yum-config-manager --enable remi-php74
yum update -y

4) настройка связки nginx + php
/etc/nginx/conf.d - каталог для запуска конфигураций, сюда добавляем символические ссылки
например: ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
/etc/nginx/virt_host - папка для хранения файлов конфигураций хостов (можно обозвать по другому)

в дебиановых
sites-available
каталог для хранения файлов хостов
sites-enabled
каталог, предоставляющий Nginx список хостов, которые нужно обслуживать

Добавление виртуальных хостов на nginx (очень доступно)
https://shneider-host.ru/blog/dobavlenie-virtualnyh-hostov-na-nginx.html
https://www.8host.com/blog/nastrojka-virtualnyx-xostov-nginx-v-centos-7/
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-on-centos-7
NGINX - создание виртуальных хостов
Один конфиг Nginx для работы с кучей разных сайтов
Настройка NGINX для поддержки одного и нескольких сайтов WordPress
Несколько сайтов на nginx, один IP-адрес


mkdir /etc/nginx/virt_host
nano /etc/nginx/virt_host/default_php.conf



netstat -tulpn | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste

nano /etc/php-fpm.d/www.conf
Найдите и измените эти строки:

user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

5) проверяем
ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
nginx -t
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl restart php-fpm nginx

https://nginxconfig.io/
https://www.nginx.com/resources/wiki/start/
https://docs.joomla.org/Nginx
https://www.nginx.com/resources/wiki/start/topics/recipes/yii/
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/
https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/
https://wordpress.org/support/article/create-a-network/
Как создать самоподписанный сертификат SSL для Nginx на CentOS 7
Настройка nginx для работы с сертификатами ГОСТ 2012 года
Как добавить модуль gzip в Nginx на CentOS 7
-----------------------------------------------------------------------------------
Документация Основы Веб-программирования WSGI (pep-333)
Развертывание приложения Python WSGI с помощью uWSGI+NGINX
Настройка uWSGI и NGINX для обслуживания приложений Python в Ubuntu 14.04
веб-интерфейс для python в ubuntu используя nginx и uwsgi
Как избежать 10 частых ошибок в настройке NGINX

Как завершить TLS-соединение в Nginx
Настройка LEMP-сервера с помощью Ansible для простых проектов. Часть первая: знакомство с Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов: практический курс. Часть первая
-----------------------------------------------------------------------------------
Динамические виртуальные хосты (dynamic vhost) в nginx
нужно для того, чтобы каждый раз при добавлении домена, не было нужды редактировать файл конфигурации. Достаточно один раз настроить, добавить\обновить DNS запись и добавить директорию на сервер.



проверять наличие директории, и если такой нет - показывать 404 ошибку:



Если необходимо только для поддоменов то:



вместо 404 ошибки можно сделать перенаправление (редирект, если будет угодно) на основной:



универсальный вариант для доменов и поддоменов:



Редирект с www на без www Nginx
Редирект с http на https Nginx


обратный прокси (доступ к ресурсу за nat)
nginx настраивается как тут добавляется файл server233_reverse.conf в /etc/nginx/virt_host, а символическая ссылка с него - в /etc/nginx/conf.d/




sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --zone=external --add-port=28080/tcp --permanent
sudo firewall-cmd --zone=external --add-port=28888/tcp --permanent
sudo firewall-cmd --reload


появится доступ из внутренней сети по порту 8080, из наружной по порту 28080, к сайту на сервере 233, находящемся на порту 8080, с 8888 портом, на котором висит другой сайт - аналогично

Решение с помощью firewall-cmd
https://www.dmosk.ru/miniinstruktions.php?mini=router-centos
перенаправление сетевых запросов на сервер, стоящий за NAT и не имеющий прямого выхода во внешнюю сеть.

firewall-cmd --zone=external --permanent --add-forward-port=port=25:proto=tcp:toport=8025:toaddr=192.168.0.15

* где 25 — прослушиваемый внешний порт, для которого сработает перенаправление; tcp — используемый транспортный протокол; 8025 — на какой порт перенаправить запрос; 192.168.0.15 — IP-адрес сервера, на который отправляем запросы.

Разрешаем сам порт:
firewall-cmd --permanent --zone=external --add-port=25/tcp

Чтобы правило вступило в силу:
firewall-cmd --reload

установка squid с доступом по группам в AD, squidGuard, lighttpd+lightsquid, sams2 в centos часть 1
установка squid с доступом по группам в AD, squidGuard, lighttpd+lightsquid, sams2 в centos часть 2

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html
https://www.scaleway.com/en/docs/how-to-configure-nginx-reverse-proxy/
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
https://nginx.org/ru/docs/http/ngx_http_proxy_module.html
Настройка обратного прокси Nginx на Linux
Проксирование запросов в nginx с помощью proxy_pass
Nginx как обратный прокси на Docker
Проксирование запросов в nginx с помощью proxy_pass
Разбираемся в HTTP прокси NGINX, балансировке нагрузки, буферизации и кешировании
Виртуальные хосты на nginx (CSC309)

Примеры редиректов в NGINX

Настройка Nginx для использования в качестве веб-сервера и обратного прокси-сервера для Apache в One Ubuntu 18.04 Server

https://docs.nginx.com/nginx/deployment-guides/load-balance-third-party/microsoft-exchange/
Настройка NGINX для проксирования почты
СКРЫВАЕМ ЧАСТЬ РЕСУРСОВ IIS СРЕДСТВАМИ NGINX AS REVERSE PROXY (CENTOS 7)
Обратный прокси на Nginx

http://nginx.org/en/docs/http/load_balancing.html

https://wiki.squid-cache.org/SquidFaq/ReverseProxy
Reverse proxy from nginx to squid?
Требуется связка: client <-> nginx <-> squid <-> site.
Обратный прокси от nginx до squid

взаимодействие с CGI
Configure Perl-FastCGI on CentOS 7 Nginx Server
https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/
http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html
настройка nginx+perl
https://www.linode.com/docs/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/

sudo yum install spawn-fcgi fcgiwrap

nano /etc/nginx/virt_host/default_perl.conf



ln -s /etc/nginx/virt_host/default_perl.conf /etc/nginx/conf.d/

nano /etc/sysconfig/spawn-fcgi




nano /var/www/default_perl/index.pl




systemctl enable --now spawn-fcgi


NGINX Unit
http://unit.nginx.org/
https://github.com/nginx/unit
http://hg.nginx.org/unit
https://hub.docker.com/r/nginx/unit/
https://github.com/miholeus/nginx-unit-python

Remi's RPM repository PHP with the NGINX unit application server

1. Official repository installation


2. Remi repository installation


3. Server and modules installation


4. Test configuration
4.1 Preparation
curl -O https://blog.remirepo.net/public/unit.config


4.2 Run the service:
# systemctl start unit

4.3 Configuration
Configuration is managed through a REST API:

# curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config

And to check running configuration:
# curl --unix-socket /var/run/unit/control.sock http://localhost/config

5 Usage
You can access the application on each new port:

http://localhost:8300/ for default PHP
http://localhost:8356/ for PHP version 5.6
http://localhost:8372/ for PHP version 7.2
etc


https://unit.nginx.org/configuration/
Nginx Unit Веб. Мысли вслух
Установка NGINX + PHP7 последних версий
Nginx Unit + Django + Virtualenv - Конфигурация
Установка WordPress с модулем NGINX
Installing WordPress with NGINX Unit - NGINX
HOW TO INSTALL NGINX UNIT ON LINUX
NGINX Unit – Application Server from Nginx
Nginx Unit + Bitrix настройка
Настройка NGINX Unit под PHP


phpmyadmin
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-20-04-ru
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-nginx-on-an-ubuntu-18-04-server
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04-ru
https://howitmake.ru/blog/ubuntu/93.html

apt install nginx mysql-server
apt install php-fpm php-mysql
mysql_secure_installation
apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

vim /etc/php/7.4/fpm/php.ini


ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

/etc/nginx/sites-available/phpmyadmin


vim /var/www/html/info.php
<?php phpinfo() ?>

/etc/nginx/sites-available/default_php


cd /etc/nginx/sites-available/
ln -s ../sites-available/phpmyadmin
ln -s ../sites-available/default_php

nginx -t
systemctl reload nginx
service nginx restart

если
1044 - Для пользователя 'phpmyadmin'@'localhost' доступ к базе данных 'baza' закрыт

https://losst.ru/ustanovka-phpmyadmin-s-nginx-v-ubuntu-20-04
sudo mysql -u root -p
После ввода пароля root пользователя MySQL, введите следующие команды:
CREATE USER 'test'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';
FLUSH PRIVILEGES;


lighttpd
https://wiki.archlinux.org/index.php/Lighttpd_(Русский)#Виртуальные_хосты
https://lorwiki.org.ru/wiki/Lighttpd
Веб-сервер Lighttpd - настраиваем виртуальные хосты.
Веб-сервер Lighttpd - включаем поддержку SSL.
Создание виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu
lighttpd в качестве обратного прокси
https://wiki.archlinux.org/index.php/Lighttpd_(Русский)#Lighttpd_как_reverse_proxy_для_отдачи_статики
https://stackoverflow.com/questions/4859956/lighttpd-as-reverse-proxy
Обязательный пакет

server.modules = (
...
"mod_proxy",
...
)
Настройка вашего внешнего прокси: для lighttpd.conf @ 192.168.1.10

$HTTP["url"] =~ "^.*DeviceB" {
proxy.server = ( "" =>
(( "host" => "192.168.1.20", "port" => 80 ))
)
}

$HTTP["url"] =~ "^.*DeviceC" {
proxy.server = ( "" =>
(( "host" => "192.168.1.30", "port" => 80 ))
)
}
Для полной документации по lighttpd mod_proxy, вы можете обратиться к http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModProxy

LAMP
http://www.apache.org/
https://downloads.apache.org/
https://projects.apache.org/releases.html
https://www.apachelounge.com/download/
https://help.ubuntu.ru/wiki/apache2
Большой Мануал по настройке lamp-сервера на Debian: Часть 0.
Установка и настройка сервера Apache на ubuntu
Установка веб-сервера Apache в CentOS 7
Настройка web сервера в CentOS 7
Веб-сервер Apache: установка, настройка и способы защиты от атак
Разработка сайтов на домашней машине с Fedora
Установка phpmyadmin на CentOS 7
Настройка Apache + SSL для работы сайта по HTTPS
Установка Apache HTTP Server 2.2.22 на Windows
Установка Apache и PHP на Windows

https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
How to Configure Apache HTTPS Reverse Proxy on CentOS Linux
Настройка mod_proxy в Apache
How To Use Apache HTTP Server As Reverse-Proxy Using mod_proxy Extension
How To Use Apache as a Reverse Proxy with mod_proxy on CentOS 7
Как использовать Apache в качестве обратного прокси с mod_proxy на CentOS 7
Как использовать Apache в качестве обратного прокси при помощи mod_proxy на Ubuntu 16.04
Настройка Reverse Proxy Apache (Debian 8) с автоматической выдачей Let's Encrypt
Using Let's Encrypt and Docker for Automatic SSL
Apache2 als Reverse Proxy für Exchange 2010 2013 2016 2019 inklusive Outlook Anywhere RPC over http
Настройка Apache Reverse Proxy для MS Exchange 2010, 2013, 2016 (Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr)

HAProxy
Разбираем методы проксирования на основе HAProxy
Как установить и настроить HAproxy в Ubuntu 20.04 LTS

Самостоятельная настройка VDS / VPS

https://2ton.com.au/standalone_binaries/rwasa
https://github.com/caddyserver/caddy

https://letsencrypt.org/
https://whatsmychaincert.com/
Настройка HTTPS с сертификатами Let’s Encrypt

https://www.acme.com/software/thttpd/
thttpd -D -h 0.0.0.0 -p 3000 -d /static-website -u static-user -l - -M 60
https://redbean.dev/

Настройка Linux для высоконагруженных проектов и защиты от DDoS

5 способов создать мгновенный легкий веб-сервер с помощью командной строки Linux

использование docker
docker команды
centos docker yii
подборка по виртуализации и облакам
Опыт разработки высоконагруженной системы в рамках HighLoad Cup
Разработка под Docker. Локальное окружение. Часть 1
Разработка под Docker. Локальное окружение. Часть 2 — Nginx+PHP+MySql+phpMyAdmin
Готовим локальную среду Docker для разработки на PHP
https://github.com/PHPtoday-ru/docker-local-conf
https://hub.docker.com/_/scratch
Как поднять сайт в Docker
Настройка веб-сервера в Docker (NGINX + PHP + MariaDB)
Используем Docker для развертывания web-приложения bitrix
Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База
https://github.com/lipanski/docker-static-website
60+ Best Docker Containers for Home Server Beginners 2023
Docker Media Server Ubuntu 22.04 with 23 Awesome Apps
https://github.com/htpcBeginner/docker-traefik

управлялки
https://www.webmin.com/
https://cockpit-project.org/
http://vestacp.com/
https://ajenti.org/
https://www.rundeck.com/open-source

контент
RSS
https://freshrss.org/
https://tt-rss.org/
https://github.com/fossar/selfoss
https://github.com/samuelclay/NewsBlur
https://github.com/feedhq/feedhq
https://miniflux.app/

https://github.com/DIYgod/RSSHub
https://github.com/RSS-Bridge/rss-bridge
https://github.com/suin/php-rss-writer/
https://bitbucket.org/fivefilters/full-text-rss/src/master/
https://github.com/Kombustor/rss-fulltext-proxy
https://github.com/goutsune/unko
https://rssbox.herokuapp.com/

Обзор RSS-ридеров — self-hosted альтернативы Google Reader
Почему я по-прежнему пользуюсь RSS
Что такое RSS-лента и как ее создать

аудио
https://www.musicpd.org/clients/
https://github.com/notandy/ympd
https://github.com/YaLiC/mpcwebshell
https://github.com/swingmx/swingmusic
https://github.com/ampache/ampache

список сетевых служб и веб-приложений свободного ПО , которые можно разместить на вашем сервере
https://github.com/awesome-selfhosted/awesome-selfhosted

Трансляция потока с веб-камеры с помощью ffserver
Потоковое видео средствами ffserver & ffmpeg
Запускаем DOS игру в браузере
https://dos.zone/studio/
Пишем онлайн-тренажёр для Python, C++ и Go: опыт Практикума
установка Django в virtualenv с помощью pip через proxy с pyenv
https://jupyter.org/
Запускаем Jupyter на орбиту LXD
Установка GitLab совместно с уже работающим Nginx
Рабочий стол Linux в браузере
https://github.com/navidrome/navidrome
https://www.navidrome.org/docs/installation/linux/
https://browsix.org/
https://github.com/plasma-umass/browsix
https://github.com/yudai/gotty
https://github.com/os-js/OS.js
https://github.com/os-js/osjs-server
https://xtermjs.org/
https://bun.sh/blog/the-bun-shell
https://github.com/butlerx/wetty
https://chromium.googlesource.com/apps/libapps/+/master/hterm/
https://chromium.googlesource.com/apps/libapps/+/master/nassh/
https://github.com/DustinBrett/daedalOS

https://github.com/paradoxxxzero/butterfly
https://github.com/BlackArch/webshells
https://github.com/epinna/weevely3

Matrix: децентрализованные открытые мессенджеры с E2E-шифрованием. Обзор возможностей и настройка своего сервера
https://github.com/element-hq/dendrite

https://github.com/conversejs/converse.js
https://open-store.io/app/conversejs.luigi311

https://github.com/digitalblossom/alternative-frontends

Безопасный HTTPS-прокси менее чем за 10 минут
https://freemyip.com/
https://github.com/SenseUnit/dumbproxy

https://webvm.io/
https://github.com/leaningtech/webvm
Запуск WebVM локально с помощью пользовательского образа Debian

Cloud Commander – веб файловый менеджер для управления файлами и программами Linux через браузер

HTML код для получения видео с камеры, сохранить этот код в файл с расширением .htm и открыть веб-браузером.




Решение проблем неправильной кодировкой веб-страницы
Защита контента веб-сайта
Сетевой pivoting: понятие, примеры, техники, инструменты
75 фактов, которые полезно знать перед тем, как выложить сайт
криптомайнер на основе JavaScript
https://doka.guide/


публикация
https://localtunnel.github.io/www/
https://ngrok.com/
Как без белого IP локальный веб-сервер сделать доступным из Интернета
https://github.com/samyk/pwnat

домен DNS DDNS
домен
https://www.freenom.com/
https://gen.xyz/
https://ru.hostings.info/domen-xyz
https://ru.tld-list.com/tld/xyz
https://codd-wd.ru/fwd/domains/
https://atex.ru/
https://sweb.ru/
https://freedns.afraid.org/

Свои DDNS (Dynamic DNS) сервер и клиент на базе Debian
Настройка DynDNS на Debian


SSL
https://zerossl.com/
https://letsencrypt.org/
сертификат
cert.мой_сайт.xyz
https://github.com/acmesh-official/acme.sh
Acme.sh + Ansible + Alias mode: Автоматизируем получение и распространение TLS сертификатов
Начало работы с acme.sh и клиентом Let’s Encrypt SSL
Сертификаты Let's Encrypt Установка и автоматизация с помощью acme-tiny
Как установить бесплатный сертификат Let’s Encrypt и настроить автоматический перевыпуск
Получение бесплатного SSL сертификата Let's Encrypt
Получаем сертификаты Let's Encrypt при помощи Certbot
Let's Encrypt: получение сертификата по шагам
Создание самоподписанного SSL-сертификата для Apache в Debian 10
Настройка Apache + SSL для работы сайта по HTTPS
Создание самоподписанного SSL-сертификата
Создание самоподписанного SSL-сертификата
https://www.altlinux.org/Создание_самоподписанных_сертификатов
OpenSSL: принципы работы, создание сертификатов, аудит
быстро выпустить свой сертификат через свой CA, добавив его к себе в доверенные
центр сертификации от компании SmallStep
https://github.com/smallstep/certificates

примеры создания самоподписанного серификата



certificate.crt — сам сертификат;
privateKey.key — файл ключа.

Файлы ключа и сертификата будут размещены в каталоге, указанном при вызове команды openssl в параметрах keyout и out.
При использовании OpenSSL необходимо также создать ключи Диффи-Хеллмана, чтобы
сгенерировать ключи Диффи-Хеллмана длиной 4096 бит и сохранить их в файл /etc/nginx/dhparam.pem:
нужно вбить команду




Преобразуйте файл сертификата в доверенный сертификат формата DER для импорта в браузер. Для этого выполните команду:



Импортируйте файл bump.der в список доверенных корневых центров сертификации на компьютерах пользователей.
При использовании некоторых браузеров (например, Mozilla Firefox) требуется также добавить сертификат в хранилище браузера.

создание самоподписанного сертификата на примере настойки openvpn
Как сделать и настроить собственный VPN




vps
Список сетей VPS/выделенных серверов, подвергающихся цензуре в России
https://poiskvps.ru/
https://vds.menu/
https://vps.today/

https://github.com/lesichkovm/awesome-vps-price-breakdown
https://www.oracle.com/cloud/free/
?
https://cybernews.com/best-web-hosting/free-vps-hosting/
https://www.ionos.com/servers/vps
https://www.digitalocean.com/
https://www.vultr.com/products/cloud-compute/
http://lowendstock.com/deals/
https://haphost.com/vps-hosting/
https://www.cloudatcost.com/

?
https://justhost.asia/
https://justhost.ru/
https://hshp.host/
https://ztv.su/
https://eurobyte.ru/
https://beget.com/
https://ihor.online/
https://62yun.ru/
https://ruweb.net/
https://weasel.cloud/
https://nuxt.cloud/
https://hip.hosting/
https://pq.hosting/
https://mchost.ru/
https://hostkey.ru/vps/
https://cp.inferno.name/
https://fornex.com/
https://firstbyte.ru/
https://aeza.net/ru
https://ishosting.com/
https://timeweb.cloud/
https://serverspace.ru/
https://www.ihc.ru/
https://firstvds.ru/
https://handyhost.ru/
https://www.majordomo.ru/
https://www.ipserver.su/
https://vds.sh/
https://4vps.su/

?
https://bitlaunch.io/

https://vpswala.org/cart/index.php?rp=/store/web-hosting
https://www.gigarocket.net/free-vps.php

Oracle раздает бесплатные VPS навсегда
Бесплатный VPS от Google навсегда
Регистрируем бесплатный (Always Free) VPS - сервер от Oracle навсегда, для сервисов Умного дома или чего-то другого.
Как получить бесплатный VPS (VDS) сервер навсегда

VPN на своём сервере с IP адресом из США за 1$ в месяц⁠⁠

проверить месторасположение vps
https://www.myip.com/
https://whatismycountry.com/



Как сделать простой веб-сайт за один час, часть 2

заглянуть
Как сделать простой веб-сайт за один час с помощью Github
От переводчика: инструкция максимально простая, зато на неё можно ссылаться, если новички задают вопрос, как запустить свой сайт в интернете.


Один из моих друзей пару месяцев твердил, что сделает сайт на весенних каникулах. Сейчас каникулы заканчиваются, а он так и не начал. Завтра его день рождения, и я решил как мудак хороший друг сделать ему подарок: написать пошаговую и максимально простую инструкцию.



В реальности, достаточно всего одного часа, чтобы сделать веб-сайт. Я это знаю, потому что засёк время, когда сам выполнял нижеследующие действия, и весь процесс занял чуть меньше часа (я даже зарегистрировал новый домен и создал новый аккаунт на Github для чистоты эксперимента). Код этого сайта тоже можно посмотреть на Github.



1. Идёте на namecheap.com и регистрируете домен. Этот шаг только в том случае, если нужно собственное доменное имя.



2. Создаёте аккаунт Github и скачиваете Git, если это ещё не сделано.



3. Создаёте директорию для размещения веб-сайта и перемещатесь туда командой cd: это команды mkdir my-site && cd my-site. Все будущие команды предполагают, что вы внутри рабочей директории.



4. Делаем новый репозиторий Github для сайта под названием yourusername.github.io. Например, я зарегистрирован под именем smilli, так что мой репозиторий называется smilli.github.io.



5. В рабочей директории запускаем git init и git remote add origin github.com/username/username.github.io.git, где вместо ‘username’ указываем свой имя пользователя.



6. Создаём файл ‘index.html’ в папке с сайтом с HTML-кодом главной страницы. Здесь необязательно тратить много времени, он может быть весьма лаконичным.



<html>
<head>
  <title>YOUR SITE TITLE</title>
  <-- Add some style to your site, see http://getbootstrap.com for details -->
  <link rel="stylesheet"
  href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
  <h1>YOUR SITE TITLE</h1>
  <p>Your text blahblahbhalbha</p>
  <p>Another paragraph!  Maybe more text!</p>
</body>
</html>


7. Пишем в коде главной страницы любой текст. Изменения отображаются локально командой python -m SimpleHTTPServer 8000 и набором адреса localhost:8000 в браузере.



8. Теперь запускаем следующие команды:

git add .
git commit -m "Initial commit"
git push -u origin master


9. Идём на yourusername.github.io. Здесь вы должны увидеть свой сайт! Поздравляю, вы что-то опубликовали в онлайне.



10. Если хотите собственное доменное имя, создаёте файл ‘CNAME’ (всё прописными буквами). Туда добавляете одну строчку ‘'yourdomainname.com' (без http или www). См. подробности конфигурации CNAME здесь.



11. Как и раньше, отправляем все изменения на Github.



git add .
git commit -m "Add CNAME"
git push


12. Теперь авторизуетесь на namecheap.com и щёлкаете по доменному имени, которое нужно, в списке своих доменов. Список будет примерно таким:







После выбора домена, появится ссылка «All Host Records» в левой панели во вкладке «Host Management». Нажмите на неё. Теперь вы увидите настройки по умолчанию, которые Namecheap указал для вашего сайта.







Измените настройки следующим образом (заменив ‘username’ на своё имя пользователя, конечно).







13. После вступления в действие изменений в DNS вы сможете увидеть свой сайт на своём домене! Поздравляю. :)

кратко сайт на Github
https://help.github.com/en/articles/about-supported-custom-domains
https://htmlacademy.ru/blog/99-github-as-hosting
https://ru.hexlet.io/courses/html/lessons/github/theory_unit


  1. Зарегистрируйтесь на https://github.com/, если еще не сделали этого.

  2. Создайте новый репозиторий с именем username.github.io, где username — ваш ник на Github.

  3. Создайте новый файл. Когда репозиторий не пуст, то в верхнем правом углу есть кнопка Create New File, но сейчас, когда еще нет ни одного файла, создать первый можно по прямой ссылке https://github.com/username/username.github.io/new/master, где username — ваш ник.

  4. Введите имя index.html и скопируйте туда содержание файла index.html, который у вас получился в предыдущем уроке.

  5. Нажмите кнопку "Commit new file".

  6. Повторите то же самое для файла style.css.

  7. Через несколько мгновений страница станет доступна по вашему адресу https://username.github.io

сайт на Node.js
Как запустить простой статический сайт за пять ≈пятиминутных шагов при помощи Node.js и Express

Шаг 1. Установить движок Node.js в соответствии с инструкциями, имеющимися в вики для каждой из поддерживаемых операционных систем. (Для Windows достаточно скачать и запустить MSI-файл, для CentOS — воспользоваться системным менеджером пакетов, и так далее.)

Шаг 2. Создать пустой каталог и поместить в нём файл «site.js» следующего содержания:



Настройки staticSiteOptions можно переменить по собственному вкусу.

Шаг 3. В том же каталоге подать команду «npm install express», которая автоматически создаст подкаталог «node_modules» и установит туда Express, скачав из Интернета.

Шаг 4. В том же каталоге создать подкаталог «static» и поместить в нём файлы статического сайта. Этот подкаталог станет корнем сайта. Файлы с именами «index.html» будут использоваться как файлы-индексы. Иными словами, при ответе сервера на запрос с адресом, содержащим только имя некоторого каталога (будь то корень сайта или один из его подкаталогов), будет показан файл с именем «index.html» из указанного каталога (если есть).

Шаг 5. В том же каталоге подать команду «node site», которая запустит сервер. Убедившись в её работоспособности, обеспечить автозапуск этой команды в этом каталоге после каждой перезагрузки операционной системы. (Например, на CentOS 6.2 можно использовать upstart для этой цели.)

https://github.com/vercel/next.js
https://github.com/visnup/npm-www
https://github.com/ceejbot/npm-www
https://github.com/ErikHumphrey/Next


работа с nodejs
Установка Node.js с помощью NVM
Шпаргалка по пакетному менеджеру NPM
Автозапуск приложения Node.js на CentOS 6.2

конструкторы статических сайтов
https://gohugo.io/
https://github.com/gohugoio/hugo
https://jekyllrb.com/
https://github.com/jekyll/jekyll
https://github.com/jekyll/jekyll-sitemap
https://github.com/planetjekyll/awesome-jekyll-plugins
https://guides.hexlet.io/jekyll/
Создаем блог используя Jekyll и GitHub Pages

https://glitch.com/
https://neocities.org/ (замена narod.ru)
https://github.com/neocities
https://app.netlify.com/drop
https://pages.github.com/

https://john-doe.neocities.org/ (веб-сайт представляет собой один HTML - файл)
https://j3s.sh/thought/my-website-is-one-binary.html
однофайловый распространяемый веб-сервер
https://github.com/lipanski/docker-static-website

https://docs.parseplatform.org/parse-server/guide/

разные CMS
https://www.host-food.ru/faq/installation/

https://www.drupal.org/download
https://www.drupal.org/project/drupal
https://ru.wordpress.org/download/
https://downloads.joomla.org/
https://modx.com/download
https://get.typo3.org/
https://www.php-fusion.co.uk/home.php
https://www.django-cms.org/en/
https://plone.org/
https://www.opencart.com/index.php?route=cms/download
https://magento.com/tech-resources/download
https://www.prestashop.com/en/download
https://www.bitrix24.ru/
https://contao.org/en/
https://strapi.io/
https://apostrophecms.com/
https://github.com/getgrav/grav

Как создать сайт с помощью ChatGPT (руководство 2025 г.)

установка
установка LEMP

Веб-сервер на основе Nginx и PHP-FPM
Оптимальная настройка Nginx
Виртуальные хосты в Apache и Nginx

Установка стека LEMP в Ubuntu 18.04
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
Настройка сервера Linux Nginx, PHP 7, MySQL (LEMP) с поддержкой сертификата Let’s Encrypt в Ubuntu Linux 18.04 Bionic
https://www.digitalocean.com/community/tutorials/nginx-ubuntu-18-04-ru
Руководство по настройке блога WordPress на nginx.

Drupal
https://help.ubuntu.ru/wiki/drupal
Перед началом использования создайте для Drupal базу данных с помощью клиента mysql:
mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;"
Также желательно завести отдельного пользователя MySQL, который будет иметь доступ только к созданной базе:
mysql -u root -p
вводим там запросы:





MySQL: Полный список часто используемых и полезных команд
посмотреть всех пользователей
SELECT User, Host FROM mysql.user;
SELECT User, Host, Password, password_expired FROM mysql.user;
увидеть разрешения для пользователя
SHOW GRANTS FOR 'test'@'localhost'
отзыв всех разрешений
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'test'@'localhost'
удалить пользователя test
drop user 'test'@'localhost'
SHOW DATABASES;
удалить базу
DROP DATABASE имя_базы_даных;

«Could not load MODX config file»
/setup/index.php

http://создаю-сайты.рф/как-войти-на-сайт-в-качестве-администр/
https://2ip.ru/cms/
chrome Wappalyzer



разные фреймворки
JavaScript подборка
Установка Node.js с помощью NVM
Шпаргалка по пакетному менеджеру NPM
---------------------------------------------------------------------------------------
Python подборка
Django подборка
если покопаться, то можно сделать бесплатный сайт на django

Установка Django CMS в Ubuntu 16.04 64bit
Ленивый деплой Django проекта UWSGI + NGINX (UBUNTU 20.04)
How To Set Up Django with Postgres, Nginx, and Gunicorn on Ubuntu 20.04
Запуск Django сайта на nginx + Gunicorn + SSL
Настройка Debian, Nginx и Gunicorn для Django проекта

установка Django в virtualenv с помощью pip через proxy с pyenv

Pelican: установка и базовая настройка сайта
Pelican. Расширенные настройки блога.
---------------------------------------------------------------------------------------
PHP подборка
https://www.yiiframework.com/
https://www.yiiframework.com/doc/guide/2.0/ru
https://github.com/yiisoft/yii2/tree/master/docs/guide-ru
centos docker yii

https://symfony.com/
https://laravel.com/
https://phalcon.io/ru-ru
https://nette.org/en/
---------------------------------------------------------------------------------------
https://rubyonrails.org/
http://rusrails.ru/
https://ru.wikibooks.org/wiki/Ruby_on_Rails
---------------------------------------------------------------------------------------
https://www.phoenixframework.org/
Начни изучать Elixir прямо сейчас! Перевод всей серии статей готов
Разработка приложений на Elixir/Phoenix с помощью Docker
---------------------------------------------------------------------------------------
http://zotonic.com/
---------------------------------------------------------------------------------------
Golang подборка
Revel — высокопроизводительный веб-фреймворк на языке Go

Разработка Web-приложений и микросервисов на Go с Gin
https://github.com/gin-gonic/gin

https://gobuffalo.io/
https://beego.me/

Как развернуть веб-приложение Go с помощью Docker и Nginx в Ubuntu 18.04

---------------------------------------------------------------------------------------
Java подборка
https://spring.io/
http://javastudy.ru/frameworks/spring/
https://javaee.github.io/javaserverfaces-spec/
http://javastudy.ru/frameworks/jsf-2-0/
https://vaadin.com/
http://www.gwtproject.org/
https://grails.org/
---------------------------------------------------------------------------------------
подборка С/C++
https://www.gnu.org/software/cgicc/index.html
https://github.com/drogonframework/drogon
https://www.webtoolkit.eu/wt
https://cutelyst.org/
Создание сайта с помощью C++
Сайт на C++ своими руками с помощью библиотеки cgicc
Простой backend на C++: это возможно?
Полноценный веб-сайт на C++ и немного диванной аналитики

всячина
Создаём личный «Архив интернета»
https://archiveweb.page/
------------------------------------------------------------------------
https://www.adminer.org/
https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io

https://ngrok.com/download

------------------------------------------------------------------------
https://www.selenium.dev/
https://www.cypress.io/
https://playwright.dev/
https://nightwatchjs.org/
https://www.npmjs.com/package/puppeteer
JavaScript, Node, Puppeteer: автоматизация Chrome и веб-скрапинг
------------------------------------------------------------------------
Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего
------------------------------------------------------------------------
Не ходи в Fediverse, там тебя ждут неприятности. — Ну как же туда не ходить? Они же ждут
https://fediverse.party/
https://the-federation.info/
https://joinmastodon.org/
https://github.com/mastodon/mastodon
https://hubzilla.org/
https://framagit.org/hubzilla/core
https://www.gnusocial.rocks/
https://notabug.org/diogo/gnu-social
------------------------------------------------------------------------
Как взламывают сайты
Как взламывают сайты (часть 2)
------------------------------------------------------------------------
хитрости
Некоторые приёмы работы в Битрикс на SQL и BASH
Как восстановить пароль администратора Битрикс
Как сбросить пароль для пользователей Bitrix?

ссылки

https://github.com/ripienaar/free-for-dev

Как сделать простой веб-сайт за один час
Как запустить простой статический сайт за пять ≈пятиминутных шагов при помощи Node.js и Express
Создаем свой персональный сайт на Github
GitHub как хостинг для сайтов
Создаем свой блог на Github и Hugo
http://webquant.ru/posts/pelican/

Самостоятельная настройка VDS / VPS
Как начать участвовать в Open Source
Работа с GitHub
http://git-scm.com/book/ru/v1
http://hosting101.ru/more-providers.html

http://hldns.ru/
https://github.com/wavedocs/freedns/
Список бесплатных DNS-сервисов

Расшариваем веб-сайт на localhost в глобальную сеть интернет.
5 способов создать мгновенный легкий веб-сервер с помощью командной строки Linux
uzverss Бесплатный django хостинг
установка dokuwiki centos php nginx

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 03:42 am
Powered by Dreamwidth Studios