1. Предисловие
Там могут быть некоторые студенты, которые не понимают проект Docker. Docker написан на языке Go. Это легкий проект виртуальной технологии, который быстро развернут. Это позволяет разработчикам упаковывать свои программы и работать вместе и превращать их в изображение Docker (зеркало). Таким образом, разверните их на сервере. Вам нужно только загрузить это изображение, чтобы запустить программу, избегая хлопот установки различных зависимостей и среда каждый раз, а также достижения изоляции между приложениями.
2. осознавать подготовку
Сначала я создам простое веб -приложение Node.js для создания зеркала. Затем запустите контейнер на основе этого изображения. Это обеспечивает быстрое развертывание.
Из -за причинах сети My Node.js Image было загружено из внутренней библиотеки изображений, а не Docker Hub.
Давайте сначала вытащим изображение Nodejs с веб -сайта HomeNical Mirror.
Docker Pull Hub.c.163.com/nce2/nodejs:0.12.2
После загрузки проверьте наше изображение и найдите его название. Мы будем использовать его позже.
3. Create Node.js программа
Создать Package.json и написать связанную информацию и зависимости
vi package.json
{"name": "webtest", "version": "1.0.0", "description": "node.js on docker", "Автор": "lpxxn", "main": "server.js", "scripts": {"start": "Node Server.js"}, "Зависимости": {"Express": "^4.13.3"} "}".Создать Server.js
vi server.js
Напишите простейшую сеть. Эта сеть основана на Express Framework и возвращает Hello Word. Обратите внимание, что мы слушаем порт 8888
'Использовать строгое'; var Express = require ('express'); var port = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world/n');}); app.listen (port); console.log ('hellp http: // localhost:' + port);4. Создайте Dockerfile
Затем главный герой выходит на сцену для создания файла DockerFile. Этот файл является необходимым файлом для создания изображения.
VI Dockerfile
Docker построит изображение в соответствии с содержимым Dockerfile. Сначала я дам полный код, а затем объясню один за одной строкой
От hub.c.163.com/nce2/nodejs:0.12.2# Создать App Directorrun Mkdir -p/Home/ServiceWorkdir/Home/Service# App Sourcecopy. /home/servicerun npm installexpose 8888cmd ["npm", "start"]
Давайте объясним это предложение по предложению
От hub.c.163.com/nce2/nodejs:0.12.2
От является основным источником изображения для построения изображения. hub.c.163.com/nce2/nodejs:0.12.2 - это имя изображения, которое является изображением, которое мы вытащили с внутреннего сервера в начале. Если нет докера локально, он потянет само изображение.
# Создать App Directorrun mkdir -p /home /serviceworkdir /home /service
Первый запуск предложения используется для создания папки в изображении и будет использоваться для сохранения нашего кода в будущем.
Второе предложение, WorkDir, состоит в том, чтобы использовать папку, которую мы создали в качестве рабочего каталога.
# Bundle App Sourcecopy. /home/servicerun npm install
Первая копия предложения состоит в том, чтобы скопировать все файлы в текущем каталоге машины в папку изображения /Home /Home /Service.
Во втором промежутке используется NPM для установки всех зависимостей, необходимых для нашего приложения.
Разоблачить 8888
Поскольку наше веб -приложение прослушивает порт 8888, мы выставляем этот порт хосту, чтобы я мог получить доступ к Интернету извне.
Cmd ["npm", "start"]
Я верю, что могу сказать, что он делает, не объясняя это. Запустите команду npm start , эта команда запустит Service.js node.js
Начните наше веб -приложение.
5. Строите изображение
Запустите следующую команду в каталоге, где находится ваш Dockerfile, чтобы построить изображение.
Docker Build -t MyNodeapp.
Не забудьте о последнем пункте
После строительства проверьте наше изображение
6. Запустите зеркало
Docker Run -d -p 8888: 8888 AC5
-Д указывает, что контейнер будет работать в фоновом режиме, -p, указывает отображение портов, сопоставляя 8888 продуктов локальной машины на порт 8888 контейнера, чтобы внешняя сеть могла получить доступ к нашей сети через 8888 продуктов локальной машины.
AC5 позади - наш идентификатор изображения. Поскольку первые 3 уже могут найти это изображение, я не записывал следующее.
Проверьте идентификатор контейнера, который мы только что запустили через Docker PS
Print Log 7370 - наш идентификатор контейнера. Так же, как идентификатор изображения, вы можете написать все это. Я ленив и пишу первые 4 цифры, что достаточно, чтобы идентифицировать этот контейнер.
Журналы Docker 7350
Если вы думаете о следующих командах в контейнере, вы можете работать на обычном Linux после входа в него. Если вы хотите выйти, вы можете выполнить команду выхода.
7. тест
Давайте сначала проверим, сможем ли мы получить доступ к нашей сети через Curl.
Curl -i Localhost: 8888
Вы также можете проверить это через браузер
8. Резюме
Хорошо, этот урок здесь. Вы узнали это? Надеюсь, эта статья поможет вам начать. Если у вас есть какие -либо вопросы или вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.