Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это руководство является началом серии из четырех частей, представляющих Docker для работы с Visual Studio Code (VS Code). Вы узнаете, как создавать и запускать контейнеры Docker, сохранять данныеи управлять несколькими контейнерами с помощью Docker Compose.
VS Code предлагает расширение "Средства контейнеров", которое позволяет работать с локальной службой Docker Desktop. Docker Desktop работает на компьютере и управляет локальными контейнерами, которые являются компактными виртуализированными средами, предоставляющими платформу для создания и запуска приложений. Контейнеры не требуют ресурсов и накладных затрат, характерных для полной операционной системы.
В этом первом руководстве описано, как:
- Создайте контейнер Docker.
- Создание образа контейнера.
- Запустите контейнер приложения.
Необходимые условия
- Visual Studio Code установлен.
- Установлено расширение Container Tools для VS Code
- Docker Desktop настроен использовать контейнеры Linux.
- Учетная запись Docker Hub. Вы можете бесплатно создать учетную запись.
Руководство работает с Windows 10 или более поздней и Docker Desktop, в котором настроено использование контейнеров Linux.
Создание контейнера
Контейнер — это процесс на компьютере. Он изолирован от всех остальных процессов на хост-компьютере. Эта изоляция использует пространства имен ядра и группы элементов управления.
Контейнер использует изолированную файловую систему. Эта нестандартная файловая система предоставляется образом контейнера . Образ содержит все необходимое для запуска приложения, например все зависимости, конфигурацию, скрипты и двоичные файлы. Образ также содержит другую конфигурацию контейнера, например переменные среды, команду по умолчанию для выполнения и другие метаданные.
После установки расширения "Средства контейнеров" для VS Code можно работать с контейнерами в VS Code. Помимо контекстных меню в обозревателе контейнеров, можно выбрать терминал>"Новый терминал ", чтобы открыть окно командной строки. Вы также можете выполнять команды в окне Bash. Если не указано, любая команда, помеченная как Bash, может выполняться в окне Bash или терминале VS Code.
Установите для Docker режим контейнера Linux. Чтобы переключиться на контейнеры Linux, если в настоящее время заданы контейнеры Windows, щелкните правой кнопкой мыши значок Docker в области уведомлений во время работы Docker Desktop и выберите Переключиться на контейнеры Linux.
В VS Code выберите терминал >новый терминал.
В окне терминала или окне Bash выполните следующую команду.
docker run -d -p 80:80 docker/getting-started
Эта команда содержит следующие параметры:
-
-d
Запустить контейнер в отсоединяемом режиме в фоновом режиме. -
-p 80:80
сопоставить порт 80 узла с портом 80 в контейнере. -
docker/getting-started
Указывает используемый образ.
Совет / Чаевые / Подсказка
Вы можете объединять флаги, состоящие из одного символа, чтобы сократить длинную команду. Например, приведенная выше команда может быть написана следующим образом:
docker run -dp 80:80 docker/getting-started
-
В VS Code щелкните значок "Контейнеры" слева, чтобы просмотреть обозреватель контейнеров.
Расширение VS Code инструментов контейнеров показывает контейнеры, работающие на вашем компьютере. Вы можете получить доступ к журналам контейнеров и управлять жизненным циклом контейнера, например остановкой и удалением.
Имя контейнера, modest_shockley в этом примере, создается случайным образом. У вас будет другое имя.
Щелкните правой кнопкой мыши на docker/getting-started, чтобы открыть контекстное меню. Выберите Открыть в браузере.
Вместо этого откройте браузер и введите
http://localhost/tutorial/
.Вы увидите страницу, размещенную локально, о DockerLabs.
Щелкните правой кнопкой мыши на docker/getting-started, чтобы открыть контекстное меню. Выберите Удалить, чтобы удалить этот контейнер.
Чтобы удалить контейнер с помощью командной строки, выполните следующую команду, чтобы получить его идентификатор контейнера:
docker ps
Затем остановите и удалите контейнер:
docker stop <container-id> docker rm <container-id>
Обновите браузер. Страница "Начало работы", которую вы видели минуту назад, исчезла.
Создание образа контейнера для приложения
В этом руководстве используется простое приложение Todo.
Приложение позволяет создавать рабочие элементы и пометить их как завершенные или удалить.
Чтобы создать приложение, создайте Dockerfile. Dockerfile — это текстовый скрипт инструкций, используемых для создания образа контейнера.
Перейдите в репозиторий руководства по Docker Get Started, а затем выберите Код>Скачать ZIP. Извлеките содержимое в локальную папку.
В VS Code выберите Файл>Открыть Папку. Перейдите к папке приложения в извлеченном проекте и откройте ее. Вы должны увидеть файл с именем package.json и две папки с именами src и spec.
Создайте файл с именем Dockerfile в той же папке, что и файл package.json со следующим содержимым.
FROM node:lts-alpine RUN apk add --no-cache python3 g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "/app/src/index.js"]
Заметка
Убедитесь, что файл не имеет расширения, например
.txt
.В проводнике слева в VS Code щелкните правой кнопкой мыши Dockerfile, а затем выберите создать образ. Введите getting-started, в качестве тега для изображения в текстовом поле.
Тег — это удобное имя для изображения.
Чтобы создать образ контейнера через командную строку, используйте следующую команду из папки
app
, которая содержит Dockerfile.docker build -t getting-started .
Вы использовали Dockerfile для создания нового образа контейнера.
Возможно, вы заметили, что было загружено много "слоев".
Dockerfile начинается с образа node:lts-alpine
.
Если этот образ еще не был на компьютере, этот образ должен быть скачан.
После скачивания образа Dockerfile копирует приложение и использует yarn
для установки зависимостей приложения.
Значение CMD
в Dockerfile указывает команду по умолчанию, выполняемую при запуске контейнера из этого образа.
.
в конце команды docker build
сообщает, что Docker должен искать Dockerfile в текущем каталоге.
Запуск контейнера приложения
Теперь, когда у вас есть образ, можно запустить приложение.
Чтобы запустить контейнер, используйте следующую команду.
docker run -dp 3000:3000 getting-started
Параметр
-d
указывает, что контейнер выполняется в отсоединяемом режиме в фоновом режиме. Значение-p
создает сопоставление между портом узла 3000 и портом контейнера 3000. Без сопоставления портов вы не сможете получить доступ к приложению.Через несколько секунд в VS Code, в обозревателе контейнеров, в разделе CONTAINERS, нажмите правой кнопкой мыши getting-started и выберите Open in Browser. Вместо этого можно открыть веб-браузер здесь:
http://localhost:3000
.Вы должны видеть, как работает приложение.
Добавьте элемент или два, чтобы проверить, работает ли оно должным образом. Элементы можно пометить как завершенные и удалить. Ваш фронтенд успешно сохраняет элементы в бэкенде.
Дальнейшие действия
Вы выполнили это руководство, и у вас есть запущенный диспетчер списков дел с несколькими элементами. Вы узнали, как создать образы контейнеров и запустить контейнерное приложение.
Сохраните все, что вы сделали до сих пор, чтобы продолжить эту серию учебников. Затем попробуйте часть II этой серии:
Ниже приведены некоторые ресурсы, которые могут оказаться полезными для вас: