Флаги docker
-h(—hostname) — имя хоста
-it — создаем сеанс интерактивной работы на подключаемом терминальном устройстве
bush — инициализируем командную оболочку /bin/bush
ps — список всех запущенных контейнеров
ps -a — список всех контейнеров из которых был совершен выход
inspect — дополнительная(подробная) информация о контейнере
name — задаем имя контейнеру
-t — имя создаваемого образа
-e — установка переменных окружения
—link — соединяем образы
-d — запуск в фоновом режиме
-f(—force) — принудительно
Docker container — основные команды
$ docker run —name friendly_allen -it ubuntu bash — запускаем образ убунту и задаем ему имя friendly_allen
$ docker run -d -p 8000:8080 bitnami/apache — получаем контейнер и запускаем в фоновом режиме, при этом пробрасываем порты
$ docker start friendly_allen* — перезапуск остановленного контейнера
$ docker stop friendly_allen* — останавливаем контейнер friendly_allen
$ docker inpect friendly_allen* — подробная информация о контейнере
$ docker inpect friendly_allen* | grep IPAdress — выбираем из подробной информации о контейнере данные по ip адресc
$ docker diff friendly_allen — показывает список измененных файлов в работающем контейнере
$ docker logs friendly_allen — выводит список всех событий произошедших внутри заданного контейнера
$ docker rm friendly_allen — удалит историю работы с контейнером
$ docker ps -aq -f status=exited — выводит идентификаторы всех остановленных контейнеров
$ docker rm -v $(docker ps -aq -f status=exited) — удаление всех остановленных контейнеров
$ docker exec -it php-fpm bash — запустим(вызовем) приложение из запущенного контейнера
* — friendly_allen взят из колонки NAME, при вызове команды docker ps -a
Docker images — основные команды
$ docker images — список всех загруженных на компьютер образов
$ docker rmi 4ab4c602aa5e — удаляем образ. 4ab4c602aa5e — id образа, узнать можно командой docker images
$ docker rmi -f 4ab4c602aa5e — принудительно удаляем образ
$ docker rmi $(docker images -a -q) — удаление всех образов
Docker-compose — основные команды
$ docker-compose build — сборка контейнера
$ docker-compose up — запуск приложение(мы должны находиться в директории с .yml файлом)
$ docker-compose up -d — запуск приложение в фоновом режиме
$ docker-compose up —build — запуск проекта с пересоздание контейнеров
$ docker-compose ps — список запущенных сервисов
$ docker-compose stop — остановить запущенные в фоновом режиме сервисы
Docker-compose — .yml файл
verson: ‘3.1’ — версия docker compose
services: — подключаемые сервисы
db: — название подключаемого сервиса
image: mariadb — название образа(из docker hub)
*build: ./db — путь к Dockerfile. используется вместо image
restart: always — перезапускать сервис(если он упал например), в данном случае всегда
environment: — задаем список переменных окружения
MYSQL_ROOT_PASSWORD: 123456 — пример переменной окружения
ports: — пробрасываем порты
— 6080:8080 — 6080 — локальный, 8080 — в докере
volumes: — сопрягаем каталоги на локальной машине и в докер контейнере
— ./databases:/var/lib/mysql — ./databases — локальный путь, /var/lib/mysql — путь в докере
версии:
https://docs.docker.com/compose/compose-file/#compose-and-docker-compatibility-matrix
https://github.com/docker/compose/releases
Dockerfile
FROM ubuntu — обязательная инструкция которая указываем базовый образ. Команда аналогична docker run -it ubuntu bash
MAINTAINER You Name <you@mail.ru> — указываем ваши контакты. Не обязательно заполнять.
RUN apt update && apt install cowsay -y && ln -s /usr/games/cowsay /usr/bin/cowsay — определяет команды которые будут выполнены внутри образа
ENTRYPOINT [«cowsay«] — команда которая будет выполнена при запуске контейнера(docker run userhub/testappimage cowsay “TEST” => docker run userhub/testappimage “TEST”)
Создание образа из докер файла:
1. переходим в каталог в котором расположен докер файл
2. $ docker build -t userhub/testappimage . — создаем образ из докер файла
3. $ docker run userhub/testappimage «Hi» — запускаем образ
Docker Hub — основные команды
Рассмотрим пример создания образа и загрузку его на docker hub (cloud.docker.com)
$ docker run -it —name testapp —hostname testapp ubuntu bash — запустим контейнер с убунту и назовем его testapp
$ apt update — обновим индексе в контейнере
$ apt install cowsay — ставим приложение
$ ln -s /usr/games/cowsay /usr/bin/cowsay — создадим символьную ссылку, что при запуске контейнера не указывать путь к приложению
$ exit — выходим из контейнера
$ docker commit testapp userhub/testappimage — создаем образ. testapp — имя которое мы указывали при запуске контейнера(выше). userhub — имя вашего пользователя на docker hub. testappimage — название вашего нового образа на docker hub.
$ docker run userhub/testappimage cowsay “TEST” — проверим работу нашего образа
$ docker login — авторизуемся на docker hub.
$ docker push userhub/testappimage — отправляем наш образ в репозиторий docker hub
Другие команды
$ sudo service docker restart — перезапускам сервис докер.
$ docker -v — версия docker
$ docker-compose -v — версия docker-compose
Как сделать запуск docker из под текущего пользователя(без sudo)
$ sudo usermod -a -G docker YouLogin — добавляем вашего пользователя в группу docker
$ sudo service docker restart — перезапускам сервис докер.
если не помогло, перезагрузите компьютер.
Источники:
Комментарии закрыты!