Въведение в командния ред на Docker

Въведение в командния ред на Docker

Docker е мощен инструмент за създаване, разполагане и управление на контейнеризирани приложения. Използването на командния ред на Docker е основен начин за взаимодействие с Docker. В тази статия ще разгледаме най-важните Docker команди и тяхното приложение.

Инсталация и настройка

Първо, трябва да инсталирате Docker на вашата система. За Windows и Mac можете да използвате Docker Desktop. За Linux има специфични инструкции за различни дистрибуции. След инсталацията, проверете дали Docker работи:

docker --version

ази команда ще покаже версията на Docker, която е инсталирана на вашата система.

Основни Docker команди

1. docker pull

Тази команда изтегля изображение от Docker Hub:

docker pull ubuntu

Тази команда изтегля официалното Ubuntu изображение.

2. docker run

docker run стартира контейнер от изображение:

docker run -it ubuntu

Опцията -it стартира контейнера в интерактивен режим и ви предоставя терминал.

3. docker ps

Тази команда показва списък с работещи контейнери:

docker ps

Използвайте опцията -a за да видите всички контейнери, включително и тези, които са спрени:

docker ps -a

4. docker stop

Командата docker stop спира работещ контейнер:

docker stop <container_id>

Можете да получите container_id от командата docker ps.

5. docker rm

Тази команда изтрива спрян контейнер:

docker rm <container_id>

За да изтриете всички спрени контейнери, използвайте:

docker container prune

6. docker rmi

Тази команда изтрива Docker изображение:

docker rmi <image_id>

Получете image_id с командата docker images.

7. docker images

Командата docker images показва списък с наличните Docker изображения на вашата система:

docker images

8. docker build

docker build създава ново изображение от Dockerfile:

docker build -t myimage:latest .

Опцията -t задава име и таг на изображението.

9. docker exec

Командата docker exec изпълнява команда в работещ контейнер:

docker exec -it <container_id> /bin/bash

Тази команда отваря нов терминал в контейнера.

10. docker logs

docker logs показва логовете на контейнер:

docker logs

Тази команда показва всички натрупани логове от контейнера. Можете да получите container_id чрез командата docker ps.

Опции за docker logs

Последни N реда

За да видите само последните N реда от логовете, използвайте опцията --tail:

docker logs --tail 100 <container_id>

Следене на логовете в реално време

За да следите логовете в реално време, използвайте опцията -f:

docker logs -f <container_id>

Изпразване на логовете

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

1. Използване на log rotation

Log rotation (ротация на логове) автоматично управлява логовете, като ги разделя на по-малки файлове и изтрива стари логове. За да активирате log rotation, трябва да конфигурирате Docker daemon.

Създайте или редактирайте файла /etc/docker/daemon.json и добавете следната конфигурация:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Тази конфигурация задава максимален размер на лог файл от 10 MB и съхранява до 3 файла.

Рестартирайте Docker, за да приложите промените:

sudo systemctl restart docker

Работа с Docker мрежи

Docker позволява създаване и управление на мрежи между контейнери.

1. docker network ls

Тази команда показва списък с наличните Docker мрежи:

docker network ls

2. docker network create

docker network create създава нова мрежа:

docker network create fedia-eu

3. docker network connect

Командата docker network connect свързва контейнер към мрежа:

docker network connect mynetwork <container_id>

4. docker network disconnect

docker network disconnect прекъсва връзката на контейнер с мрежа:

docker network disconnect mynetwork <container_id>

5. docker network rm

Тази команда изтрива мрежа:

docker network rm fedia-eu

Работа с обеми (volumes)

Обемите позволяват съхранение на данни извън контейнера.

1. docker volume ls

Тази команда показва списък с наличните Docker обеми:

docker volume ls

2. docker volume create

docker volume create създава нов обем:

docker volume create myvolume

3. docker volume rm

Тази команда изтрива обем:

docker volume rm myvolume

Docker Compose

Docker Compose е инструмент за управление на многоконтейнерни приложения.

1. docker-compose up

Тази команда стартира всички услуги, дефинирани в docker-compose.yml:

docker-compose up

2. docker-compose down

docker-compose down спира и премахва всички услуги, дефинирани в docker-compose.yml:

docker-compose down

3. docker-compose ps

Тази команда показва статуса на услугите:

docker-compose ps

4. docker-compose logs

Командата docker-compose logs показва логовете на услугите:

docker-compose logs

Заключение

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

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: