Базові команди Docker
Docker CLI
Команди, пов'язані з контейнерами
docker [CMD] [OPTS] [CONTAINER]
1. Run a container in interactive mode:
#Run a bash shell inside an image
$ docker run -it petro/image-php bash
#Check the release inside a container
[root@.../]# cat /etc/php-release
2. Run a container in detached mode:
$ docker run --name container_name -d -p 8080:8080 petro/image-php
3. Run a detached container in a previously created container network:
$ docker network create mynetwork
$ docker run --name mywild-net -d --net mynetwork \
-p 8080:8080 petro/image-php
4. Run a detached container mounting a local folder inside the container:
$ docker run --name container-name-volume -d \
-v myfolder/:/opt/petro/php/standalone/deployments/ \
-p 8080:8080 petro/image-php
5. Follow the logs of a specific container:
$ docker logs -f container_name
$ docker logs -f [container-name|container-id]
6. List containers:
# List only active containers
$ docker ps
# List all containers
$ docker ps -a
7. Stop a container:
# Stop a container
$ docker stop [container-name|container-id]
# Stop a container (timeout = 1 second)
$ docker stop -t1
8. Remove a container:
# Remove a stopped container
$ docker rm [container-name|container-id]
# Force stop and remove a container
$ docker rm -f [container-name|container-id]
# Remove all containers
$ docker rm -f $(docker ps-aq)
# Remove all stopped containers
$ docker rm $(docker ps -q -f "status=exited")
9. Execute a new process in an existing container:
# Execute and access bash inside a container
$ docker exec -it container_name bash
daemon
Запустити постійний процес, який керує контейнерамиattach
Приєднатися до запущеного контейнера, щоб переглянути його поточний вивід(логи) або керувати ним інтерактивноcommit
Створити новий образ на основі змін у контейнеріcp
Копіювати файли/теки між контейнером і локальною файловою системоюcreate
Створити новий контейнерdiff
Перевірити зміни у файловій системі контейнераexec
Запустити команду в контейнері, що працюєexport
Експортувати вміст файлової системи контейнера у вигляді tar-архівуkill
Вбити запущений контейнер за допомогою SIGKILL або вказаного сигналуlogs
Отримати логи контейнераpause
Призупинити всі процеси всередині контейнераport
Вивести список зіставлень портів або знайти публічний порт, який прописано у NAT до PRIVATE_PORTps
Перелік контейнерівrename
Перейменувати контейнерrestart
Перезапустити контейнерrm
Видалити один або декілька контейнерівrun
Виконати команду в новому контейнеріstart
Запустити один або декілька контейнерівstats
Показати статистику використання ресурсів одного або декількох контейнерівstop
Зупинити контейнер, відправивши SIGTERM, а потім SIGKILL після пільгового періодуtop
Показати запущені процеси контейнераunpause
Призупинити всі процеси в контейнеріupdate
Оновити конфігурацію одного або декількох контейнерівwait
Зачекати, доки контейнер зупиниться, а потім вивести код завершення роботи контейнера
Команди, пов'язані з образами
docker [CMD] [OPTS] [IMAGE]
1. Build an image using a Dockerfile:
#Build an image
$ docker build -t [username/]<image-name>[:tag] <dockerfile-path>
#Build an image called myimage using the Dockerfile in the same folder where the command was executed
$ docker build -t myimage:latest .
2. Check the history of an image:
# Check the history of the petro/image-php image
$ docker history petro/image-php
# Check the history of an image
$ docker history [username/]<image-name>[:tag]
3: List the images:
$ docker images
4: Remove an image from the local registry:
$ docker rmi [username/]<image-name>[:tag]
5. Tag an image:
# Creates an image called “myimage” with the tag “v1” for the image petro/image-php:latest
$ docker tag petro/image-php myimage:v1
# Creates a new image with the latest tag
$ docker tag <image-name> <new-image-name>
# Creates a new image specifying the “new tag” from an existing image and tag
$ docker tag <image-name>[:tag][username/] <new-image-name>.[:new-tag]
6. Exporting and importing an image to an external file:
# Export the image to an external file
$ docker save -o <filename>.tar
# Import an image from an external file
$ docker load -i <filename>.tar
7 Push an image to a registry:
$ docker push [registry/][username/]<image-name>[:tag]
build
Зібрати образи з Docker-файлуhistory
Показати історію образуimages
Перерахувати образиimport
Створити порожній образ файлової системи та імпортувати до нього вмістinfo
Показати загальносистемну інформаціюinspect
Повернути низькорівневу інформацію про контейнер або образload
Завантажити образ з tar-архіву або STDINpull
Витягнути образ з реєструpush
Відправити образ до реєструrmi
Вилучити один або декілька образівsave
Зберегти один або декілька образів до tar-архіву (за замовчуванням передається у STDOUT)search
Пошук образівtag
Додати тег образу
Команди, пов'язані з контейнерами
Dockerfile аргументи інструкції
FROM
- Встановлює базовий образ з котрого буде проводитись збірка контейнераMAINTAINER
Задає поле автора згенерованих образівRUN
Виконує команди у новому шарі поверх поточного образу та фіксує результатиCMD
Дозволяється лише один раз (якщо декілька, то діє остання)LABEL
Додає метадані до образуEXPOS
Інформує програму виконання контейнера про те, що під час виконання контейнер прослуховує вказані мережеві портиENV
Встановлює змінну оточенняADD
Копіює нові файли, каталоги або URL-адреси віддалених файлів до файлової системи контейнераCOPY
Копіювати нові файли або каталоги у файлову систему контейнераENTRYPOINT
Дозволяє налаштувати контейнер, який буде запускатися як виконуваний файлVOLUME
Створює точку монтування і позначає її як таку, що містить змонтовані ззовні томи з рідного хоста або інших контейнерівUSER
Задає ім'я користувача або UID для використання під час запуску образуWORKDIR
Задає робочий каталог для команд RUN, CMD, ENTRYPOINT, COPY, та ADDARG
Визначає змінну, яку користувачі можуть передати під час збирання образу за допомогою --build-argONBUILD
Додає інструкцію, яку буде виконано пізніше, коли образ буде використано як основу для іншої збіркиSTOPSIGNAL
Задає сигнал системного виклику, який буде надіслано контейнеру для завершення роботи