docker Базовые команды на примерах по шагам - создание образа и запуск контейнера (Отладка)
Primary tabs
Основной пример есть в официальном сайте: https://docs.docker.com/get-started/02_o...
Для получения контейнера потребуется примкерно в следующее:
- Переходим в нужную напр папку
- Создаем так Dockerfile, например такой:
FROM node:18.15-alpine WORKDIR /var/www CMD node -i
-- обратите внимание, запускать контейнер nodejs мы будем в интерактивном режиме (-i), чтобы далее именно эта команда выполнилась по умолчанию при работе с docker run ниже
- Построим образ контейнера с помощью команды вида:
docker build -t node-test .
где
- -t - флагдля пометки образа тэгом/именем, где имя "node-test"
- точка после имени - путь к Dockerfile
- Далее можем вывести список образов:
docker images -a
чтобы убедиться что node-test там появился
-
Запустим контейнер через docker run с указанием имени ранее созданого образа:
docker run -i node-test
Кстати, чтобы при интерактивном вводе далее работали стрелки влево и вправо для перемещения по строке, нам потребуется не просто поток ввода флаг -i а еще и -t - эмуляция терминала TTY, команда примет вид:
docker run -it node-test
- позапускайте в и то и то вариант, чтобы почувстовать разницу в наборе текста (если нужно вернуть курсор назад, не удаляя символ, например) в работе тех шагов данного примера, что идут далее.
-- в этом запуске мы не указываем какую именно команду выполнять, будет выполнено то, что указано в CMD докер-файла выше. Запуск делаем в интерактивном режиме -i (похоже на флаг ноды, но тут это флаг уже команды докера), чтобы поток ввода был открыт на чтение и мы могли вводить команды.
- После старта контейнера с указанными опциями поток ввода будет открыт на запись и можно будет использовать его для ввода JS в интерактивном режиме, напр. наберем строку и нажмем энтер:
console.log('Hello world!');
получим ожидаемый ответ:
Hello world!'
undefined
Для быстрой пересборки образа и запуска контейнера можно использовать комбинированную команду:
docker build -t node-test . && docker run -i node-test
- Log in to post comments
- 816 reads