Раздел вопрос-ответ Запуск кода в контейнере без Dockerfile

Как быстро запустить php-код в контейнере на PHP любой версии?

share

1 ответ

docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.0-cli bin/console my:command
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.1-cli bin/console my:command
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.2-cli bin/console my:command
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.3-cli bin/console my:command
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.4-cli bin/console my:command

Разбор команды по частям:

  • docker run — запускает контейнер Docker.
  • -it — два флага:
  •     -i (interactive) — сохраняет стандартный ввод (stdin) открытым.
  •     -t (tty) — подключает терминал, чтобы видеть ввод/вывод в интерактивном режиме.
  • --rm — удаляет контейнер после завершения его работы (не остается «мусора»).
  • -v ${PWD}:/var/www — монтирует текущую директорию (${PWD}) на хосте внутрь контейнера по пути /var/www. Это значит, что вы можете запускать файлы из своей папки внутри контейнера.
  • -w /var/www — устанавливает рабочую директорию внутри контейнера на /var/www (куда как раз смонтированы файлы).
  • php:8.0-cli, php:8.4-cli и тд. — имя Docker-образа. Это официальные PHP-образы с CLI-интерфейсом, версии 8.0 или 8.4.
  • bin/console my:command — команда, которая будет запущена в контейнере. В данном случае это конольная команда с именем "my:command".

Если вы хотите зайти в контейнер и выполнять команды вручную, то укажите команду bash. В данном случае это оболочка bash, чтобы можно было выполнять команды вручную:

docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.0-cli bash
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.1-cli bash
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.2-cli bash
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.3-cli bash
docker run -it --rm -v ${PWD}:/var/www -w /var/www php:8.4-cli bash

 

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться
    НОВЫЕ ПОЛЬЗОВАТЕЛИ