Въведение в командния ред на 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 команди и тяхното приложение.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut