• Docker — основные команды

    PHPКомментариев нет

    Флаги 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 — перезапускам сервис докер.

    если не помогло, перезагрузите компьютер.

     

    Источники:

    https://www.youtube.com/channel/UCWdmR3tpvXkzubAZugUQLdw


    Комментарии закрыты!