1. Боли указывают на решение
1. Нет необходимости строить среду развития.
2. Изменения в среде разработки требуют только изменения зеркала на синхронные обновления.
3. Нет необходимости в инструментах IDE, таких как Eclipse.
4. Переключение проектов разработки
2. Решения
Используйте Docker, чтобы запустить изображения Ubuntu, построить среду разработки, необходимую проекту в контейнере, установите локальный код в контейнер, используйте объем монтирования для компиляции и запуска кода, используя среду в контейнере, и хост обращается к сервисам в контейнере через порт, открытый Docker, так что машина для разработки фронта-конечностей необходимо разрабатывать Docker и выполнять его.
3. О докере
Понять докер
Эта статья не намерена подробно объяснять знание докера. Есть много связанных статей. Если вам интересно, вы можете прочитать эту книгу. Я ограничен разработкой этого инструмента для использования Docker. Если есть что -то неправильное, пожалуйста, укажите это.
ускоритель
Daocloud Accelerator
4. Создайте среду
После загрузки и установки Docker мы можем начать. Ниже мы говорим ниже, так это Java, но то же самое относится и к другим средам.
Получите изображение Ubuntu.
Docker тянет Ubuntu
После его завершения выполните docker images , и вы увидите недавно обновленное изображение.
Введите контейнер
Docker Run -it Ubuntu
5. Установить программное обеспечение и настройка переменных среды
Первое обновление apt-get
Apt-Get Update
Затем вы можете использовать apt-get install * для установки необходимого вам программного обеспечения. Если нет, загрузите пакет установки и установите его самостоятельно. В то же время настройте переменные среды. Я не буду вдаваться в подробности здесь.
VI Начните сервис
Введите каталог Tomcat, запустите службу и откройте 0,0.0.0:8080 в браузере. Если ничего плохого, вы увидите, что сервер не может быть доступен. Это потому, что услуга, которую мы только что начали, находится в Docker. Если мы не сделаем какие -либо операции, мы не сможем получить доступ к службе внутри Docker.
Итак, давайте сначала выйдем из контейнера
Выход
После выхода, выполните docker ps -a , и вы увидите, что контейнер, который мы только сейчас, все еще есть. Большинство людей, которые являются новичками в Docker, допустят эту ошибку и думают, что контейнер будет уничтожен после выхода из контейнера, но на самом деле это не так.
Если мы хотим снова ввести этот контейнер, мы можем выполнить следующую команду, пожалуйста, скопируйте свой собственный идентификатор контейнера.
Docker EXEC -IT Container Id Bash
Хотя контейнер все еще работает, он не сохраняется. Чтобы это не произошло, он будет сохраняться как можно скорее после того, как мы изменим содержимое в контейнере.
Docker Commit Container ID Java
Эта команда означает сохранить наш контейнер в новое изображение, называемое Java.
Начните это недавно созданное изображение.
Docker Run -t -p 8080: 8080 Java
Обратите внимание на изменение в нашей команде стартапа, и есть дополнительная команда -p. Эта команда означает разоблачение порта 8080 в контейнере на хост.
Снова посетите 0.0.0.0:8080 8080, и мы можем увидеть маленькую кошку, это так мило.
Что мне делать, если контейнер все еще занимал нашу память только сейчас? Убей его.
Docker RM идентификатор контейнера
Наш первый шаг был завершен, и затем мы интегрируем наш код.
7. Интегрированный код
Контейнер, который мы только что запустили, представляет собой совершенно независимый черный ящик, который не имеет представления, где находится наш код, поэтому нам нужно использовать громкость крепления Docker, чтобы хост и контейнер могли делиться каталогом.
Извините, мы собираемся убить контейнер, который мы только снова начали.
Docker run -it -v/users/name/web:/opt/root -p 8080: 8080 java
Наша команда стартапа добавила новый участник -v. Значение этой команды состоит в том, чтобы повесить веб -каталог под корневым каталогом пользователя в контейнер в каталоге /Opt /Root.
После входа в каталог мы можем обнаружить, что файлы в веб -каталоге тихо лежат внутри, как Мэри Сью, которая спала много лет, ждет вашего звонка.
Начать звонить.
MVN Clean Install -u -plocal -dskiptests
Через некоторое время мы увидим подсказку для успешной упаковки. Скопируйте пакет войны в каталог Tomcat WebApps, и вы можете получить доступ к вашему проекту.
На данный момент наш проект, наконец, начал работать, но есть несколько проблем.
1. Вы должны выполнять такую длинную команду каждый раз? Очень хлопотно.
2. Каждый раз, когда вы меняете код, он должен быть переупакован, что занимает много времени.
3. Как прочитать журнал запуска? Что я должен сделать, если я сообщу об ошибке?
4. Как изменить файл шаблона фронтального шаблона без перезапуска службы?
Основываясь на этих проблемах, нам нужно написать сценарий, чтобы решить их.
8. Shell Script
Сценарий предоставит следующие инструкции
-y Обновление Maven Package-Compile-Package-Release-Start Tomcat
-p Compile-Package-Release-Start Tomcat
-r перезапустить Tomcat
-c перекомпилировать файл Java - релиз - Start Tomcat
-W слушает файлы виртуальной машины, синхронизация 5S 5s один раз
-l Посмотреть журнал Tomcat
-Х Помощь
# Переменные, которые должны быть измененный######################################################## ################################################## вместе ################################################# вместе ################################################## вместе ################################################# вместе ################################################## вместе ################################################# вместе ################################################## вместе Адрес запуска проекта tom_root = "$ {tom_url}/webApps"# Интервал прослушивания файла, единица wt = 5# копирование vmwc_vm = "src/main/webapp/web-inf/tpl/usr/share/tomcat7/webApps/root/web-inf/"# copiswc_java = "target/class /usr/share/tomcat7/webApps/root/web -inf/" # Общий метод # # Использовать новую функцию пакета newwar () { # Удалить старый пакет rm -rf $ {tom_root}/* # Move War Package mv $ {war_url} $ {tom_root}/rout.war # restart restruct Начните службу $ {tom_url} /bin/startup.sh # Введите хвост журнала запуска -f $ {tom_url} /logs/catalina.out} # Обработка директивы, в то время как getopts »: yprcwlh" optnamedo case "$ optname" в "y") echo " Newwar перезапуск ;; «P») echo »переупаковка» MVN Clean Package -p $ {dev} -dskiptests newwar restart ;; «R») Echo »перезапустить Tomcat» перезагрузку ;; «C») Echo »перерабатывает и перезапустите службу» MVN Clean Compile -p $ {dev} -dskiptests cp -r $ {wc_java} restart ;; "W") Echo "Начать прослушивание виртуальных файлов" # Слушайте VM Watch -n $ {wt} cp -r $ {wc_vm} ;; «L») echo »ogin» # прослушивание VM Tail -f $ {tom_url} /logs/catalina.out ;; "h") echo " -y Update maven package-compile-package-release-start one-stop service" echo " -p Compile and package release starts one-stop service" echo " -r Restart tomcat" echo " -c Re-java file and deploy restart service" echo " -w listen to vm file, default 5S synchronization once" echo " -l View logs" echo " -h Help" ;; эсак 9. Продвигайте в команду
После приведенных выше трех шагов наши инструменты были построены, но как другие могут их использовать?
Docker предоставляет облачные сервисы. Если наше изображение достаточно маленькое, мы можем подтолкнуть изображение в облако, чтобы другие могли загрузить и запустить, но наше изображение превысило 1G. Полем Полем Так что мы не можем использовать этот метод.
Docker Save Java -o ./java.tar
Используйте вышеуказанную команду, чтобы сохранить изображение в локальный файл java.tar, а затем перенесите ее на машины других одноклассников с помощью других средств. Мы используем Airdrop, несколько минут вещей.
Docker Load -i java.tar
Другие студенты могут использовать эту команду, чтобы загрузить наше изображение в свой докер.
Затем интегрируйте скрипт оболочки в каталог Project Root, и вы можете использовать его счастливо.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи поможет вашему обучению или работе. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения.