Содержание
Список всех контейнеров:
docker ps -a
Без ключа -a покажет только запущенные.
Локальные образы:
docker images
Запустить новый контейнер интерактивно и потом удалить:
docker run --rm -it IMAGE
—rm говорит об удалении после выхода
-it интерактивно (i) к консоли (t)
-d запустить в фоне. Ключи -it и —rm убрать.
—user USER или -u USER запусть от определенного пользователя. Должен быть определен в образе.
Запустить существующий контейнер интерактивно:
docker start -ia CONTAINER
Приконнектиться к запущенному контейнеру:
docker exec -it CONTAINER /bin/bash
На самом деле запустить команду интерактивно.
Чистка докера:
Убить неактивные контейнеры:
docker ps -f status=exited -q | xargs -r docker rm
Убить образа без тегов (хвосты пересборок):
docker images -f "dangling=true" -q | xargs -r docker rmi
Убираем фильтры, меняем -q на -qa в обоих случаях и будет полная очистка. Имаджи могут цепляться за контейнеры.
Перенос образов:
docker save -o FILE IMAGE docker load -i FILE
Создать из контейнера образ:
docker commit CONTAINER [REPOSITORY[:TAG]
Знаю, что лучше так не делать, но иногда приходится.
Скопировать в/из контейнера:
docker cp FILE CONTAINER://PATH docker cp ./script.sh some-container://root