Docker — это платформа контейнеризации с открытым исходным кодом, которая использует технологию контейнеризации для создания, развертывания и запуска приложений более эффективным и удобным способом. По сравнению с традиционными методами виртуализации Docker имеет множество преимуществ и преимуществ. В опубликованном ранее руководстве по самостоятельной реализации сервера MQTT для сервера последовательного порта на основе платформы EMQX мы кратко представили руководство по установке Docker и развертыванию службы EMQX в Docker. Далее мы представим преимущества Docker и ключевые моменты, на которые следует обратить внимание при использовании. .
Докер

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

Портативность и гибкость : контейнерные приложения Docker могут работать в любой среде, поддерживающей Docker, без ограничений базовой операционной системы или оборудования. Такая переносимость позволяет разработчикам развертывать приложения в различных средах и избегать проблем совместимости, вызванных различиями в средах.

Быстрое развертывание . С помощью механизма образов Docker разработчики могут упаковывать приложения и их зависимости в образы, и им нужно будет запускать образ только при развертывании, что значительно упрощает процесс развертывания и экономит время и энергию.

Гибкое расширение : Docker позволяет пользователям масштабироваться горизонтально, создавая несколько экземпляров контейнера для удовлетворения различных потребностей в нагрузке и трафике. В то же время Docker поддерживает взаимосвязь и связь между контейнерами, позволяя организовывать приложения микросервисным способом, повышая гибкость и масштабируемость системы.

В этом руководстве подробно объясняется процесс Docker: от установки сервера до развертывания. Шаги следующие:

1. Команда подключения терминала:
Соединение SSH с сервером можно установить с помощью следующей команды подключения терминала:

ssh root@[ip-адрес] -p [номер порта]

2. Обновление системы:
Чтобы убедиться, что система обновлена, выполните следующую команду для обновления системы:

apt update -y && apt update -y

3. Удалите ключ хоста SSH:
Если вы столкнулись с изменением ключа хоста SSH, используйте следующую команду, чтобы удалить исходный ключ:

нано ~/.ssh/known_hosts

4. DD чистая система:
Для обычных пользователей нет необходимости в установке системы, поскольку сервер уже выполнил базовую работу по защите для начинающих пользователей, такую ​​как запрет входа в систему с паролем и входа пользователя root. Однако, если вы настаиваете на установке системы, вы можете выполнить следующие действия:

sudo -i #переключиться на пользователя root

sudo apt update -y #Обновить пакет программного обеспечения

Примечания по установке Docker:
Это руководство по установке не применимо к системам с архитектурой OpenVZ/LXC. Для получения подробной информации обратитесь к следующим источникам:

https://blog.hicasper.com/post/135.html

https://www.ydyno.com/archives/1245.html

5. Установка сценария DD (по умолчанию — Debian10, вам необходимо изменить пароль root и порт SSH в соответствии с вашими потребностями):
Выполните следующую команду, заменив «пользовательский пароль root» и «пользовательский порт ssh» на то, что вам нужно:

bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 10 -v 64 -p "Пользовательский пароль root" - порт «пользовательский ssh-порт», подождите примерно 15–30 минут, вы можете попытаться установить соединение с сервером или использовать команду ping для проверки подключения доменного имени.

6. Просмотр информации о системе:
Чтобы просмотреть сведения о системе, выполните следующую команду: hostnamectl # или uname -r.

Установите необходимые инструменты:
1. Установите необходимые инструменты, такие как sudo, wget, curl и nano, и выполните следующие команды:

sudo apt update #Обновить список пакетов

apt установить sudo wget Curl Nano

2. Добавьте официальный исходный код для Debian 10 (обновите библиотеку программного обеспечения):
Отредактируйте файл /etc/apt/sources.list и добавьте в конец следующее (используя редактор nano: нажмите ctrl+o для сохранения и выхода, нажмите ctrl+x для выхода без сохранения):

deb http://deb.debian.org/debian buster-backports main

3. Обновите библиотеку программного обеспечения, запросите последнюю официальную версию ядра Debian и установите ее. Убедитесь, что версия ядра установлена ​​правильно в зависимости от типа сервера («amd64» в этом примере):

sudo apt update && sudo apt -t buster-backports install linux-image-amd64

4. Измените файл конфигурации параметров ядра sysctl.conf:

Отредактируйте файл /etc/sysctl.conf и добавьте следующее содержимое:

net.core.default_qdisc=fq

net.ipv4.tcp_congestion_control=bbr

Перезагрузите сервер, чтобы обновления ядра и конфигурация вступили в силу: sudo restart

Обновите загрузочное меню GRUB, чтобы оно не обновлялось при установке нового ядра. Выполните следующую команду, чтобы обновить загрузочное меню GRUB: sudo update-grub

Затем перезапустите систему, чтобы новое ядро ​​вступило в силу: sudo restart

После перезагрузки вы можете еще раз запустить команду hostnamectl или uname -r, чтобы убедиться, что версия ядра обновлена.

Чтобы убедиться, что алгоритм fq включен правильно, выполните следующую команду: lsmod | grep fq

Если включено правильно, будет возвращен следующий вывод: root@iZt4nfn72irn8xvvdxjiluZ:~# lsmod | grep fq

sch_fq 20480 2

Измените время:

Во-первых, время сервера необходимо привести в соответствие с местным временем. Если сервер расположен в Гонконге и время соответствует местному времени, вы можете проигнорировать этот шаг. Если вы находитесь в Европе и США, вы можете выполнить следующие действия, чтобы настроить время:

sudo -i #переключиться на пользователя root

apt update -y && apt update -y #Обновить пакет программного обеспечения

Время просмотра: timedatectl

После завершения DD вы можете обнаружить, что время изменилось на время Нью-Йорка и его необходимо скорректировать: timedatectl list-timezones #List all timezones
Докер установил часовой пояс

Установите часовой пояс Азия/Шанхай: sudo timedatectl set-timezone Asia/Shanghai

Затем еще раз выполните следующую команду, чтобы проверить время: timedatectl

Добавить СВАП:

Установите часто используемое программное обеспечение: apt install sudo curl wget.
SWAP — это механизм виртуальной памяти в Linux, используемый для хранения временных данных, когда физической памяти недостаточно. Аналогично виртуальной памяти в Windows, но в Linux в качестве виртуальной памяти можно использовать файлы или разделы. Для серверов с небольшим объемом памяти SWAP важен и может повысить эффективность работы. Вот шаги по добавлению SWAP через скрипт:

wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && очистить && ./box.sh
Виртуальная память Docker

Установите Docker и Docker-compose:
Обновите и установите необходимое программное обеспечение:
apt-get update && apt-get install -y wget vim

Установите Docker в материковом Китае:
Запустите следующую команду для установки Docker:

wget -qO-get.docker.com | бить

Примечание. Если возникает ошибка «sudo: невозможно разрешить хост [имя хоста]», отредактируйте файл /etc/hosts, добавьте пробел после «localhost», а затем добавьте соответствующее содержимое [имя хоста].
Виртуальная память Docker

Проверьте версию Docker:

Чтобы просмотреть установленную версию Docker, выполните следующую команду: docker -v

Настройте автоматический запуск Docker при загрузке:

Используйте следующую команду, чтобы включить автоматический запуск Docker при загрузке: systemctl Enable Docker

Шаги по удалению Docker
Чтобы удалить Docker, выполните следующую команду:

sudo apt-get purge docker-ce docker-ce-cliContainerd.io

sudo rm -rf /var/lib/docker

sudo rm -rf /var/lib/containerd

Установите Docker-compose в регионах за пределами материкового Китая:
Выполните следующую команду для установки Docker-compose:

Curl -SL https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

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

Проверьте версию Docker-compose:
Чтобы просмотреть установленную версию Docker-compose, выполните следующую команду: docker-compose --version

Docker — это легкая и гибкая технология контейнеризации, которая дает множество преимуществ при создании, развертывании и запуске приложений. С помощью Docker разработчики и группы эксплуатации могут не только упростить процесс создания и развертывания приложений, но также улучшить переносимость и производительность приложений. Это связано с тем, что Docker инкапсулирует зависимости и конфигурацию приложения, позволяя приложению работать в любой среде, будь то локальная среда разработки или производственная среда.

Есть много проблем, на которые следует обратить внимание при использовании Docker. Прежде всего, вам необходимо обратить внимание на совместимость версий, чтобы убедиться, что различные компоненты и плагины Docker совместимы и работают правильно. Во-вторых, вам необходимо обратить внимание на безопасность, особенно на то, являются ли источник и содержимое изображения безопасными и заслуживающими доверия, чтобы избежать риска атаки или заражения системы. Для этой цели вы можете использовать доверенные хранилища образов, такие как Docker Hub, и принимать меры безопасности, такие как ограничение доступа и ужесточение политики паролей. Кроме того, при использовании Docker также необходимо уделять внимание управлению ресурсами и мониторингу производительности. С одной стороны, эластичность и гибкость Docker могут легко привести к появлению слишком большого количества контейнеров Docker и пустой трате ресурсов. Поэтому требуется разумное управление ресурсами и распределение контейнеров Docker, например использование таких инструментов, как Docker Compose, для управления контейнерами. С другой стороны, высокая производительность Docker также выдвигает более высокие требования к мониторингу и отладке системы, что требует использования соответствующих инструментов и технологий мониторинга, таких как Prometheus и Grafana.

Подводя итог, можно сказать, что Docker, как передовая технология контейнеризации, приносит много преимуществ и удобств разработчикам, а также группам эксплуатации и обслуживания, но также требует внимания к совместимости версий, безопасности, достоверности источника изображения и управлению ресурсами. и мониторинг производительности для обеспечения стабильности и безопасности системы. Только таким образом можно будет по-настоящему использовать преимущества Docker, чтобы сделать приложения более эффективными и безопасными на протяжении всего их жизненного цикла.

На этом руководство закончено, и вы можете приступить к его развертыванию и установке. Я считаю, что благодаря этому изучению каждый сможет освоить установку Docker.