Пълно ръководство за създаване и управление на Docker контейнери

Последна актуализация: 08/05/2025
Автор: Isaac
  • Docker ви позволява да пакетирате приложения с техните зависимости, осигурявайки преносимост и последователност.
  • Контейнерите се създават от предварително съществуващи Docker изображения или се персонализират с помощта на Dockerfile.
  • Изпълнението на контейнера може да бъде персонализирано с помощта на параметри като обеми, променливи на средата и картографиране на портове.
  • Docker Compose и други инструменти за оркестрация помагат за управлението на контейнери в сложни среди.
докер
Създаден с GIMP

Docker се превърна в един от основните инструменти в разработването и внедряването на съвременни приложения . Способността му да създава изолирани и последователни среди позволява на разработчиците да работят, без да се притесняват за типичните проблеми с конфигурацията между различните системи.

В това ръководство ще научите стъпка по стъпка и подробно как да създадете Docker контейнер от нулата . Ще разгледаме всичко - от основна инсталация до разширено изпълнение с помощта на Docker Compose, включително създаване на персонализирани изображения, използване на томове, управление на работещи контейнери и най-добри практики за оптимизиране на работната ви среда.

Какво е Docker контейнер и защо го използваме?

Docker контейнерът е лека, преносима единица, която съдържа приложение заедно с всички негови зависимости . За разлика от виртуалната машина, която включва пълна операционна система, контейнерите споделят ядрото на хост операционната система, което ги прави много по-бързи и по-ефективни.

Благодарение на Docker можете да разработвате, тествате и внедрявате приложението си в различни среди, без да се притеснявате за разликите между тях . Тази функция го прави идеално решение както за производствени среди, така и за локално тестване и разработка.

Предварителни изисквания за използване на Docker

  • Поддържана операционна системаUbuntu, Debian, Fedora, CentOS, macOS или Windows.
  • Достъп до привилегии на суперпотребител (корен или sudo), за да инсталирате и стартирате Docker.
  • Интернет връзка за да изтеглите официални изображения от Docker Hub.

Инсталиране на Docker

Инсталирането на Docker обикновено е лесно. В Ubuntu можете да го инсталирате с тези команди :

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

За да стартирате Docker автоматично, когато включите системата си, можете да го изпълните по следния начин :

sudo systemctl активиране на docker sudo systemctl активиране на containerd

Проверка на инсталацията

докер

След като го инсталирате, можете да проверите дали Docker работи, като изпълните тази команда:

Докерът работи здравословно

Тази команда ще изтегли тестово изображение и ще покаже съобщение, потвърждаващо, че всичко работи правилно.

  Как да увелича силата на звука на слушалките на моя iPhone - Изравняване

Създаване на контейнер: Основи

За да създадете контейнер, ви е необходим Docker образ , който представлява пакет, съдържащ всички компоненти, от които се нуждае вашето приложение. Образите могат да бъдат изтеглени от Docker Hub или създадени ръчно.

Например, за да настроите основен Nginx сървър, можете да използвате:

докер изпълнение --name myweb -p 8080:80 -d nginx

С тази инструкция:

  • – име на моя уебсайт: дава име на контейнера.
  • -p 8080: 80Пренасочва хост порт 8080 към контейнер порт 80.
  • -d: изпълнява контейнера във фонов режим.

Създаване на персонализирани изображения с Dockerfile

Dockerfile ви позволява да създавате персонализирани изображения стъпка по стъпка . Всяка инструкция във файла добавя нов слой към крайното изображение. Ето един прост пример:

ОТ ubuntu:последно РАБОТНО КОПИЕ /app. . ИЗПЪЛНЕТЕ apt-get update && apt-get install -y curl
CMD 

Този файл прави следното:

  • ОТИзползвайте най-новата версия на Ubuntu като основа.
  • РАБОТЕН ДИРЕКТОР: задава работната директория.
  • COPY: копира файлове от хоста в контейнера.
  • RUN: инсталира пакета curl.
  • CMD: определя командата по подразбиране при изпълнение на контейнера.

За да изградите изображението с този Dockerfile, можете да се консултирате с ръководството за създаване на персонализирани изображения с Dockerfile.

Стартиране на контейнер от собственото ви изображение

След като изображението е изградено, можете да стартирате приложението си с:

docker run --име пример -p 8080:80 моят проект

Ето как създавате контейнер от изображението, което току-що създадохте.

Управление на Docker контейнери

Docker предоставя няколко команди за управление на вашите контейнери . Някои от най-полезните включват:

  • docker ps: изброява работещите контейнери.
  • docker ps -a: показва всички контейнери, включително спрените.
  • docker stop nombre_contenedor: спира контейнер.
  • docker rm nombre_contenedor: изтрива контейнер.

Съхранение на данни: Томове в Docker

По подразбиране данните, съхранени в контейнер, се губят, когато контейнерът бъде изтрит. За да се поддържат постоянни данни, е важно да се монтират томове . Използването на томове гарантира, че данните ще оцелеят след изтриването на контейнера и ще могат да бъдат споделяни между томовете.

  Разберете как да разбера от колко време съм приятел с някого във Facebook. Проверете датата и историята на приятелството.

Пример с обем от тип свързване:

докер run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ключ -v $PWD/данни:/var/lib/mysql mysql:8.0

Можете също да използвате томове, управлявани от Docker :

Създаване на том на докер mysql_data чрез докер run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ключ -v mysql_data:/var/lib/mysql mysql:8.0

Променливи на околната среда

Docker ви позволява да конфигурирате променливи на средата, които помагат за параметризиране на поведението на контейнерите . Например:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=store mysql:8.0

Разпределение на ресурсите

Можете да ограничите използването на процесора и паметта на даден контейнер . Това е полезно, за да се предотврати изразходването на всички системни ресурси от един контейнер.

docker run --cpus=0.5 --memory=512m myimage

Основна оркестрация с Docker Compose

Docker Compose опростява управлението на множество контейнери . Той дефинира всички необходими услуги в един YAML файл и след това ги изпълнява с една команда. За да научите повече за създаването на контейнери в Docker с помощта на Docker Compose, вижте Използване на Docker Compose.

Пример за основен docker-compose.yml за MySQL:

версия: '3' услуги: mysql: изображение: mysql:8.0 портове: - 3306:3306 среда: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=проект - MYSQL_USER=потребител - MYSQL_PASSWORD=ключ томове: - mysql_data:/var/lib/mysql томове: mysql_data:

За да премахнете услугите:

докер-компилиране нагоре -d

Най-добри практики при използване на Docker

За да сте сигурни, че вашите изображения и контейнери са ефективни, сигурни и лесни за поддръжка, следвайте тези препоръки :

  • Използвайте официални изображения, когато е възможно, тъй като те са одитирани и оптимизирани.
  • Поддържайте контейнерите си леки използване на малки базови изображения и премахване на ненужни файлове след инсталиране на пакети.
  • Не стартирайте процеси като root, създава специфичен потребител в контейнера.
  • Използвайте томове за съхранение на постоянни данни и да се избегнат загуби поради повреди или актуализации.
  • Конфигурирайте чувствителни променливи като тайни, използвайки среди или .env файлове, за да се предотврати тяхното разкриване в изходния код.

Практически пример: внедряване на Pandora FMS с Docker

Реално приложение, използващо множество контейнери, е Pandora FMS. Можем да разположим както сървъра, така и базата данни само с две команди, ако използваме Docker.

Първо, настройваме базата данни:

docker run --name Pandora_DB -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pandora -e MYSQL_DATABASE=pandora -e MYSQL_USER=pandora -e MYSQL_PASSWORD=pandora -v mysqlvol:/var/lib/mysql -d rameijeiras/pandorafms-percona-base

След това сървърът на приложенията започва да сочи към IP адреса на хоста:

docker run --name Pandora_app --rm -p 8081:80 -e DBHOST=127.0.0.1 -e DBNAME=pandora -e DBUSER=pandora -e DBPASS=pandora -e DBPORT=3306 -ti rameijeiras/pandorafms-community:740

С това ще имате работещ екземпляр на Pandora FMS за броени минути.

  smss.exe | Какво е? опасно ли е Решения на проблеми

Docker е универсален инструмент, който трансформира начина, по който се внедряват и управляват приложенията. От внедряването на прости контейнери за разработка до сложни среди с множество услуги, използването им подобрява ефективността, намалява проблемите със съвместимостта и улеснява мащабирането на вашите проекти. Овладяването на Docker е инвестиция, която може да окаже влияние върху управлението на вашите внедрявания и разработка на приложения.

Основни команди на Docker-0
Свързана статия:
Docker команди: Пълно ръководство за управление на контейнери