Как вызвать 04 с мобильного

Образ контейнера хранит код приложения, библиотеки, файлы конфигурации, переменные среды и среду выполнения.A container image stores your application code, libraries, configuration files, environment variables, and runtime.Использование вида гарантирует, что среда в контейнере будет стандартизирована и будет содержать лишь то, что нужно для сотворения и пуска приложения.Using an image ensures that the environment in your container is standardized and contains only what is necessary to build and run your application.

DockerFile содержит аннотации, нужные для сотворения новейшего вида контейнера.A DockerFile contains the instructions needed to build the new container image.Иными словами, этот файл делает образ контейнера, который описывает среду приложения, чтоб его можно было воссоздать в хоть каком месте.In other words, this file builds the container image that defines your app’s environment so it can be reproduced anywhere.

Давайте сделаем образ контейнера с помощью приложения Next.

js, настроенного в разделе руководств по веб-платформам .Let’s build a container image using the Next.js app set up in the web frameworks guide.

  • Создайте свежий файл с именованием в корневом каталоге последующего проекта. js и добавьте следующее:Create a new file called in the root of your Next.js project and add the following:

  • Откройте приложение Next. js в VS Code (убедитесь, что расширение Remote-WSL выполняется, как указано на левой нижней вкладке слева).Open your Next.js app in VS Code (ensuring that the Remote-WSL extension is running as indicated in the bottom-left green tab).Откройте окно терминала WSL, интегрированное в VS Code (просмотр > терминала) и удостоверьтесь, что путь к терминалу показывает на каталог последующего проекта.

    js (ie. ).Open the WSL terminal integrated in VS Code (View > Terminal) and make sure that the terminal path is pointed to your Next.js project directory (ie. ).

  • Чтобы сделать образ DOCKER, выполните последующую команду в корневом каталоге проекта (но замените именованием юзера, сделанным в DOCKER HUB): To build the docker image, run the following command from the root of your project (but replacing with the username you created on Docker Hub):

Примечание

Чтобы эта команда работала, Docker должен работать с WSL Technical Preview.Docker must be running with the WSL Tech Preview for this command to work.Напоминание о запуске DOCKER см.

в разделе step #4 раздела install.For a reminder of how to start Docker see step #4 of the install section.Флаг показывает имя создаваемого вида, "My-некстжс-App: V1" в нашем случае.The flag specifies the name of the image to be created, "my-nextjs-app:v1" in our case.При разработке вида рекомендуется постоянно применять номер версии в именах тегов .We recommend that you always use a version # on your tag names when creating an image.Не забудьте включить точку в конце команды, которая показывает текущий рабочий каталог, который будет юзаться для поиска и копирования файлов сборки для последующего приложения.

js.Be sure to include the period at the end of the command, which specifies the current working directory should be used to find and copy the build files for your Next.js app.

Примечание

Чтобы эта команда работала, Docker должен работать с WSL Technical Preview.Docker must be running with the WSL Tech Preview for this command to work.Напоминание о запуске DOCKER см. в разделе step #4 раздела install.For a reminder of how to start Docker see step #4 of the install section.Флаг показывает имя создаваемого вида, "My-некстжс-App: V1" в нашем случае.The flag specifies the name of the image to be created, "my-nextjs-app:v1" in our case.При разработке вида рекомендуется постоянно употреблять номер версии в именах тегов .We recommend that you always use a version # on your tag names when creating an image.Не забудьте включить точку в конце команды, которая показывает текущий рабочий каталог, который будет юзаться для поиска и копирования файлов сборки для последующего приложения.

js.Be sure to include the period at the end of the command, which specifies the current working directory should be used to find and copy the build files for your Next.js app.

  • Чтобы запустить свежий образ DOCKER для последующего приложения с. js в контейнере, введите команду: To run this new docker image of your Next.js app in a container, enter the command:

  • Флаг привязывает порт "3000" (порт, который выполняется приложением в контейнере) с локальным портом "3333" на компе, чтоб можно было указать в веб-браузере, http://localhost:3333 и узреть приложение, отображаемое на стороне сервера, которое выполняется в виде вида контейнера DOCKER.The flag binds port ‘3000’ (the port that the app is running on inside the container) to local port ‘3333’ on your machine, so you can now point your web browser to http://localhost:3333 and see your server-side rendered Next.js application running as a Docker container image.

Совет

Мы сделали образ контейнера с помощью , который ссылается на образ по умолчанию Node.

js версии 12, лежащий в центре DOCKER.We built our container image using which references the Node.js version 12 default image stored on Docker Hub.Этот образ Node. js по умолчанию основан на системе Debian/Ubuntu Linux, но существует множество разных образов Node. js, которые можно выбрать, но вы сможете применять нечто наиболее обычное либо приспособленное в согласовании с вашими потребностями.This default Node.js image is based on a Debian/Ubuntu Linux system, there are many different Node.js images to choose from, however, and you may want to consider using something more lightweight or tailored to your needs.Дополнительные сведения см.

в разделе реестр образов Node. js в DOCKER Hub.Learn more in the Node.js Image Registry on Docker Hub.

Совет

Мы сделали образ контейнера с помощью , который ссылается на образ по умолчанию Node. js версии 12, лежащий в центре DOCKER.We built our container image using which references the Node.js version 12 default image stored on Docker Hub.Этот образ Node. js по умолчанию основан на системе Debian/Ubuntu Linux, но существует множество разных образов Node. js, которые можно выбрать, но вы сможете применять нечто наиболее обычное либо приспособленное в согласовании с вашими потребностями.This default Node.js image is based on a Debian/Ubuntu Linux system, there are many different Node.js images to choose from, however, and you may want to consider using something more lightweight or tailored to your needs.Дополнительные сведения см.

в разделе реестр образов Node. js в DOCKER Hub.Learn more in the Node.js Image Registry on Docker Hub.


Установка расширения DOCKER на VS CodeInstall the Docker extension on VS Code

Расширение DOCKER упрощает создание и развертывание контейнерных приложений, а также управление ими из Visual Studio Code.The Docker extension makes it easy to build, manage and deploy containerized applications from Visual Studio Code.

  • Откройте окно расширения (CTRL + SHIFT + X) в VS Code и выполните поиск DOCKER.Open the Extensions window (Ctrl+Shift+X) in VS Code and search for Docker.

  • Выберите расширение Microsoft DOCKER и установите.Select the Microsoft Docker extension and install.Чтобы включить расширение, нужно перезагрузить VS Code опосля установки.You will need to reload VS Code after installing to enable the extension.

Установив расширение DOCKER на VS Code, вы можете открыть перечень команд , которые использовались в последующем разделе, с помощью ярлыка: By installing the Docker extension on VS Code, you will now be able to bring up a list of commands used in the next section with the shortcut:

Дополнительные сведения о работе с DOCKER в VS Code.Learn more about working with Docker in VS Code.

Установив расширение DOCKER на VS Code, вы можете открыть перечень команд , которые использовались в последующем разделе, с помощью ярлыка: By installing the Docker extension on VS Code, you will now be able to bring up a list of commands used in the next section with the shortcut:

Дополнительные сведения о работе с DOCKER в VS Code.Learn more about working with Docker in VS Code.


Общие сведения о контейнерах DOCKEROverview of Docker containers

DOCKER — это средство, используемое для сотворения, развертывания и пуска приложений с помощью контейнеров.Docker is a tool used to create, deploy, and run applications using containers.Контейнеры разрешают разрабам упаковывать приложения с юзанием всех нужных компонентов (библиотек, платформ, зависимостей и т.

д.) и поставлять все это как один пакет.Containers enable developers to package an app with all of the parts it needs (libraries, frameworks, dependencies, etc) and ship it all out as one package.Использование контейнера гарантирует, что приложение будет работать идиентично независимо от настроенных характеристик либо ранее установленных библиотек на компе, где он работает, который может различаться от компа, который употреблялся для написания и тестирования кода приложения.Using a container ensures that the app will run the same regardless of any customized settings or previously installed libraries on the computer running it that could differ from the machine that was used to write and test the app’s code.Это дозволяет разрабам сосредоточиться на написании кода, не беспокоясь о том, на какой системе будет выполняться код.This permits developers to focus on writing code without worrying about the system that code will be run on.

Контейнеры DOCKER похожи на виртуальные машинки, но не делают всю виртуальную операционную систему.Docker containers are similar to virtual machines, but don’t create an entire virtual operating system.Вместо этого DOCKER дозволяет приложению применять тот же ядро Linux, что и система, на которой он работает.Instead, Docker enables the app to use the same Linux kernel as the system that it’s running on.Это дозволяет пакету приложения требовать лишь те части, которые еще не находятся на главном компе, понижая размер пакета и повышая производительность.This allows the app package to only require parts not already on the host computer, reducing the package size and improving performance.

Постоянная доступность, юзание контейнеров DOCKER с таковыми инструментами, как Kubernetes, является еще одной предпосылкой популярности контейнеров.Continuous availability, using Docker containers with tools like Kubernetes, is another reason for the popularity of containers.Это дозволяет создавать несколько версий контейнера приложения в различное время.This enables multiple versions of your app container to be created at different times.Вместо того чтоб занимать всю систему для обновления либо обслуживания, каждый контейнер (и его определенные микрослужбы) можно заменить на лету.Rather than needing to take down an entire system for updates or maintenance, each container (and it’s specific microservices) can be replaced on the fly.Вы сможете приготовить свежий контейнер со всеми обновлениями, настроить контейнер для рабочей среды и просто указать свежий контейнер опосля его готовности.You can prepare a new container with all of your updates, set up the container for production, and just point to the new container once it’s ready.Вы также сможете архивировать разные версии приложения, используя контейнеры, и при необходимости обеспечить их пуск в качестве резервной стратегии обеспечения безопасности.You can also archive different versions of your app using containers and keep them running as a safety fallback if needed.



Приступая к работе с контейнерами DOCKER с Node.

jsGet started using Docker containers with Node.js

  • Время чтения: 9 мин

    Пошаговое управление, помогающее приступить к использованию контейнеров DOCKER в приложениях Node. js.A step-by-step guide to help you get started using Docker containers with your Node.js apps.


    Установка DOCKER Desktop WSL 2 Technical PreviewInstall Docker Desktop WSL 2 Tech Preview

    Ранее WSL 1 не удалось запустить управляющую програмку DOCKER впрямую, но она поменялась с WSL 2 и привела к значимым улучшениям скорости и производительности с помощью DOCKER Desktop для WSL 2.Previously, WSL 1 could not run the Docker daemon directly, but that has changed with WSL 2 and led to significant improvements in speed and performance with Docker Desktop for WSL 2.

    Чтобы установить и запустить DOCKER Desktop WSL 2 Technical Preview:To install and run Docker Desktop WSL 2 Tech Preview:

    • Вывод сведений о определенной команде с помощью: List information for a specific command with:
    • Перечислите образы DOCKER на собственном компе (это лишь образ Hello-World), используя: List the docker images on your machine (which is just the hello-world image at this point), with:
    • После установки запустите приложение DOCKER Desktop, выбрав значок ярлычка на рабочем столе либо находясь в меню "Пуск" Windows.Once installed, start Docker Desktop by selecting the shortcut icon on your desktop or finding it in your Windows Start menu.Значок DOCKER покажется в меню "скрытые значки" панели задач.The Docker icon will appear in the hidden icons menu of your taskbar.Щелкните правой клавишей мыши значок, чтоб открыть меню команд DOCKER, и выберите "WSL 2 Technical Preview".Right-click the icon to display the Docker commands menu and select "WSL 2 Tech Preview".

    • Перечислите вашу статистику системы DOCKER и ресурсы (память & ЦП), доступные в контексте WSL 2, с помощью: List your Docker system statistics and resources (CPU & memory) available to you in the WSL 2 context, with:
    • Откройте лишь что скачанный установщик DOCKER.Open the Docker installer that you just downloaded.Мастер установки выдаст запрос, необходимо ли употреблять контейнеры Windows заместо контейнеров Linux.

      не устанавливайте этот флаг, так как мы будем применять подсистему Linux.The installation wizard will ask if you want to "Use Windows containers instead of Linux containers" — leave this unchecked as we will be using the Linux subsystem.DOCKER будет установлен в управляемом каталоге в дистрибутиве WSL 2 по умолчанию и будет включать управляющую програмку DOCKER, CLI и интерфейс командной строчки компоновки.Docker will be installed in a managed directory in your default WSL 2 distribution and will include the Docker daemon, CLI, and Compose CLI.

    • Скачайте установщик DOCKER Desktop WSL 2 Technical Preview.Download the Docker Desktop WSL 2 Tech Preview Installer.(При необходимости можно сослаться на документацию по установщику ).(You can reference the installer docs if needed).

    • Перечислите команды, доступные в интерфейсе командной строчки DOCKER, введя: List the commands available in the Docker CLI by entering:
    • Перечислите контейнеры на компе с помощью: List the containers on your machine, with:
    • Проверьте, верно ли работает установка, выполнив обычной интегрированный образ docker: Test that your installation works correctly by running a simple built-in Docker image:

    • После открытия окна Technical Preview нажмите клавишу начать , чтоб начать выполнение управляющей программы DOCKER (фоновый процесс) в WSL 2.Once the tech preview windows opens, select Start to begin running the Docker daemon (background process) in WSL 2.При запуске управляющей программы DOCKER WSL 2 для нее автоматом создается контекст CLI DOCKER.When the WSL 2 docker daemon starts, a docker CLI context is automatically created for it.

    • Если у вас еще нет идентификатора DOCKER, нужно настроить его, посетив: https://hub.docker.com/signup.If you don’t yet have a Docker ID, you will need to set one up by visiting: https://hub.docker.com/signup.Идентификатор должен содержать все строчные алфавитно-цифровые символы.Your ID must be all lowercase alphanumeric characters.

    • Чтобы убедиться, что DOCKER установлен, и показать номер версии, откройте командную строчку (WSL либо PowerShell) и введите: To confirm that Docker has been installed and display the version number, open a command line (WSL or PowerShell) and enter:

    • Показать, где в данный момент выполняется DOCKER с: Display where docker is currently running, with:

    Вот несколько команд DOCKER, которые следует иметь в курсе:Here are a few Docker commands you should know:

    1. Перечислите контейнеры на компе с помощью: List the containers on your machine, with:
    2. Перечислите вашу статистику системы DOCKER и ресурсы (память & ЦП), доступные в контексте WSL 2, с помощью: List your Docker system statistics and resources (CPU & memory) available to you in the WSL 2 context, with:
    3. Вывод сведений о определенной команде с помощью: List information for a specific command with:
    4. Перечислите образы DOCKER на собственном компе (это лишь образ Hello-World), используя: List the docker images on your machine (which is just the hello-world image at this point), with:
    5. Перечислите команды, доступные в интерфейсе командной строчки DOCKER, введя: List the commands available in the Docker CLI by entering:
    6. Показать, где в данный момент выполняется DOCKER с: Display where docker is currently running, with:

    Можно узреть, что в юзается два контекста: (классическая управляющая программа DOCKER) и (Наша рекомендация, использующая техно подготовительную версию).You can see that there are two contexts that Docker is running in — (the classic Docker daemon) and (our recommendation using the tech preview).(Кроме того, команда маленький для и может юзаться взаимозаменяемой).(Also, the command is short for and can be used interchangeably).

    Вот несколько команд DOCKER, которые следует иметь в курсе:Here are a few Docker commands you should know:

    1. Перечислите контейнеры на компе с помощью: List the containers on your machine, with:
    2. Перечислите вашу статистику системы DOCKER и ресурсы (память & ЦП), доступные в контексте WSL 2, с помощью: List your Docker system statistics and resources (CPU & memory) available to you in the WSL 2 context, with:
    3. Вывод сведений о определенной команде с помощью: List information for a specific command with:
    4. Перечислите образы DOCKER на собственном компе (это лишь образ Hello-World), используя: List the docker images on your machine (which is just the hello-world image at this point), with:
    5. Перечислите команды, доступные в интерфейсе командной строчки DOCKER, введя: List the commands available in the Docker CLI by entering:
    6. Показать, где в данный момент выполняется DOCKER с: Display where docker is currently running, with:

    Можно узреть, что в юзается два контекста: (классическая управляющая программа DOCKER) и (Наша рекомендация, использующая техно подготовительную версию).You can see that there are two contexts that Docker is running in — (the classic Docker daemon) and (our recommendation using the tech preview).(Кроме того, команда маленький для и может юзаться взаимозаменяемой).(Also, the command is short for and can be used interchangeably).


    Необходимые условияPrerequisites

    В этом руководстве предполагается, что вы уже выполнили деяния по настройке среды разработки Node.

    js с помощью WSL 2, включая:This guide assumes that you’ve already completed the steps to set up your Node.js development environment with WSL 2, including:

    1. Убедитесь, что дистрибутив Ubuntu 18,04 работает в режиме WSL 2.Ensure your Ubuntu 18.04 distribution is running in WSL 2 mode.(WSL может запускать дистрибутивы в режиме v1 либо v2.) Это можно проверить, открыв PowerShell и введя: .(WSL can run distributions in both v1 or v2 mode.) You can check this by opening PowerShell and entering: .
    2. Установите дистрибутив Linux (Ubuntu 18,04 для наших примеров).Install a Linux distribution (Ubuntu 18.04 for our examples).Это можно проверить с помощью: .You can check this with: .
    3. Установите Windows 10 Insider Preview Build 18932 либо наиболее поздней версии.Install Windows 10 Insider Preview build 18932 or later.
    4. Включите функцию WSL 2 в Windows.Enable the WSL 2 feature on Windows.
    5. С помощью PowerShell установите Ubuntu 18,04 в качестве дистрибутива по умолчанию с помощью: .Using PowerShell, set Ubuntu 18.04 as your default distribution, with: .


    Передача вида контейнера в репозиторийUpload your container image to a repository

    Репозиторий контейнеров хранит образ контейнера в облаке.A container repository stores your container image in the cloud.Как правило, репозиторий контейнеров будет содержать коллекцию связанных образов, таковых как разные версии, которые доступны для простоты установки и скорого развертывания.Often a container repository will actually contain a collection of related images, such as different versions, that are all available for easy setup and rapid deployment.Как правило, вы сможете получить доступ к образам в репозиториях контейнеров с помощью защищенных конечных точек HTTPs, что дозволяет извлекать образы, отправлять их либо управлять ими с помощью хоть какого экземпляра системы, оборудования либо виртуальной машины.Typically, you can access images on container repositories via secure HTTPs endpoints, allowing you to pull, push or manage images through any system, hardware or VM instance.

    Реестр контейнеров, с иной стороны, хранит коллекцию репозиториев, а также индексы, правила управления доступом и пути API.A container registry, on the other hand, stores a collection of repositories as well as indexes, access control rules, and API paths.Они могут располагаться в общедоступном либо личном порядке.These can be hosted publicly or privately.DOCKER Hub — это реестр DOCKER с открытым кодом, используемый по умолчанию при выполнении команд и .Docker Hub is an open-source Docker registry and the default used when running and commands.Он предоставляется безвозмездно для общедоступных репозиториев и просит оплаты для личных репозиториев.It is free for public repos and requires a fee for private repos.

    Чтобы выслать свежий образ контейнера в репозиторий, размещенный в DOCKER Hub:To upload your new container image to a repo hosted on Docker Hub:

    • Вы также сможете просмотреть перечень активных контейнеров DOCKER с помощью: (или ).You can also view a list of your active Docker containers with: (or )

    • Вы увидите, что контейнер My-некстжс-App: v1 активен в порте 3333-> 3000/TCP.You should see that your "my-nextjs-app:v1" container is active on port 3333 ->3000/tcp.Вы также сможете узреть идентификатор контейнера, указанный здесь.You can also see your "CONTAINER ID" listed here.Чтобы прерывать работу контейнера, введите команду: To stop running your container, enter the command:

    • Чтобы получить перечень образов контейнеров DOCKER, сделанных на компе, введите: To get a list of the docker container images that you’ve created on your machine, enter:

    • Теперь вы сможете просмотреть репозиторий в центре DOCKER, ввести описание и связать учетную запись GitHub (если вы хотите), посетив: https://cloud.docker.com/repository/listYou can now view your repository on Docker Hub, enter a description, and link your GitHub account (if you want to), by visiting: https://cloud.docker.com/repository/list

    • Войдите в центр DOCKER.Log in to Docker Hub.Вам будет предложено ввести имя юзера и пароль, которые использовались для сотворения учетной записи центра DOCKER на шаге установки.You will be prompted to enter the username and password you used to create your Docker Hub account during the installation step.Чтобы войти в DOCKER в окне терминала, введите: To log in to Docker in your terminal, enter:

    • Отправьте образ контейнера в центр DOCKER, создав свежий репозиторий для него с помощью последующей команды: Push your container image up to Docker Hub, creating a new repo for it there, using this command:

    • Обычно опосля остановки контейнера его также следует удалить.Typically, once a container is stopped, it should also be removed.Это приводит к чистке всех оставшихся в нем ресурсов.Removing a container cleans up any resources it leaves behind.После удаления контейнера все конфигурации, внесенные в файловую систему вида, будут безвозвратно утеряны.Once you remove a container, any changes you made within its image filesystem are permanently lost.Вам будет нужно сделать свежий образ для представления изменений.You will need to build a new image to represent changes.ЧТОБЫ удалить контейнер, используйте команду: TO remove your container, use the command:

    Узнайте больше о разработке контейнерного веб-приложения с помощью DOCKER.Learn more about building a containerized web application with Docker.

    Узнайте больше о разработке контейнерного веб-приложения с помощью DOCKER.Learn more about building a containerized web application with Docker.


    ВИДЕО ПО ТЕМЕ: