Базові команди 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Задає сигнал системного виклику, який буде надіслано контейнеру для завершення роботи