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

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

Въведение

Docker е платформа за разработка, доставка и стартиране на приложения в контейнери. Docker Compose е инструмент за дефиниране и управление на multi-container Docker приложения.

Тази статия ще ви запознае с основните команди за работа с Docker и Docker Compose в Linux среда.

Docker команди

1. docker version

docker version

Тази команда показва версията на Docker, инсталирана на вашата система. Тя дава информация за клиента и сървъра.

2. docker info

docker info

Показва системна информация за Docker инсталацията, включително брой контейнери, образи и настройки на системата.

3. docker pull

docker pull ubuntu:latest

Изтегля образ от Docker Hub. В този пример изтегляме най-новата версия на Ubuntu образа.

4. docker images

docker images

Листва всички локално налични Docker образи. Показва информация като име, таг и размер.

5. docker ps

docker ps

Показва списък с всички работещи контейнери. Добавянето на опцията -a показва и спрените контейнери.

6. docker run

docker run -it ubuntu:latest /bin/bash

Стартира нов контейнер. Опцията -it осигурява интерактивен терминал. Тук стартираме Ubuntu контейнер с Bash.

7. docker start

docker start <container_id>

Стартира спрян контейнер. Трябва да предоставите ID или име на контейнера.

8. docker stop

docker stop <container_id>

Спира работещ контейнер. Изпраща SIGTERM сигнал, последван от SIGKILL след грациозен период.

9. docker restart

docker restart <container_id>

Рестартира контейнер. Това е еквивалентно на последователно изпълнение на docker stop и docker start.

10. docker exec

docker exec -it <container_id> /bin/bash

Изпълнява команда в работещ контейнер. Тук отваряме интерактивен Bash терминал в контейнера.

11. docker logs

docker logs <container_id>

Извлича логовете на контейнер. Полезно за дебъгване и мониторинг на приложения в контейнери.

12. docker inspect

docker inspect <container_id>

Предоставя детайлна информация за контейнер или образ във формат JSON.

13. docker rm

docker rm <container_id>

Премахва спрян контейнер. Използвайте опцията -f за принудително премахване на работещ контейнер.

14. docker rmi

docker rmi <image_id>

Премахва Docker образ. Уверете се, че няма контейнери, използващи този образ, преди да го премахнете.

15. docker build

docker build -t myapp:v1 .

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

16. docker network create

docker network create mynetwork

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

17. docker volume create

docker volume create myvolume

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

18. docker cp

docker cp <container_id>:/path/to/file /host/path

Копира файлове между контейнер и хост системата. Работи и в двете посоки.

19. docker commit

docker commit <container_id> new_image:tag

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

20. docker save

docker save myimage:tag > myimage.tar

Запазва Docker образ като tar архив. Полезно за архивиране или трансфер на образи.

Docker Compose команди

21. docker-compose up

docker-compose up -d

Стартира услугите, дефинирани в docker-compose.yml файл. Опцията -d стартира в детачнат режим.

22. docker-compose down

docker-compose down

Спира и премахва контейнерите, мрежите и обемите, създадени от docker-compose up.

23. docker-compose ps

docker-compose ps

Листва контейнерите за текущия проект и техния статус.

24. docker-compose logs

docker-compose logs <service_name>

Показва логовете на определена услуга или на всички услуги, ако не е посочена конкретна.

25. docker-compose build

docker-compose build

Изгражда или преизгражда услугите, дефинирани в docker-compose.yml файла.

26. docker-compose exec

docker-compose exec <service_name> <command>

Изпълнява команда в работещ контейнер на определена услуга.

27. docker-compose run

docker-compose run --rm <service_name> <command>

Стартира еднократна команда за услуга. Опцията --rm премахва контейнера след изпълнението.

28. docker-compose pull

docker-compose pull

Изтегля най-новите версии на образите, дефинирани в docker-compose.yml файла.

29. docker-compose restart

docker-compose restart

Рестартира всички услуги, дефинирани в docker-compose.yml файла.

30. docker-compose config

docker-compose config

Валидира и показва композицията на услугите, дефинирани в docker-compose.yml файла.

Заключение

Тези 30 команди представляват основните операции, които можете да извършвате с Docker и Docker Compose в Linux среда. Те ви позволяват да управлявате контейнери, образи, мрежи и обеми.

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

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

Допълнителни съвети

  1. Използвайте docker --help или docker <command> --help за повече информация за всяка команда.
  2. Създайте алиаси за често използвани команди, за да ускорите работния си процес.
  3. Винаги внимавайте при работа с контейнери в продукционна среда. Тествайте промените първо в развойна среда.
  4. Редовно почиствайте неизползвани контейнери, образи и обеми, за да спестите дисково пространство.
  5. Използвайте Docker Hub за споделяне на образи, но внимавайте с чувствителна информация.

С тези команди и съвети, вие сте готови да започнете вашето пътешествие в света на Docker и контейнеризацията. Успех!

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

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