1. Введение
DockerЧто это? Каковы преимущества? Что теперь, если вы не знаете или даже не используете его как разработчик, я чувствую, что вы устарели.DockerЭто виртуализированная контейнерная технология, предназначенная для создания интеграции приложений для непрерывной интеграции, контроля версий, переносимости, изоляции и безопасности. Это все официально. На самом деле, я думаю, что самое простое пониманиеDockerОн может создать изолированную среду приложения для вашего приложения. Пока вы можете запустить среду докера, будь тоLinux,ещеMac,ещеwindowsВы можете быстро развернуть свое приложение и даже запустить его за считанные секунды. если у вас естьMysqlЗеркалирование кластера, вы можете запустить его в одно мгновениеMysqlГроздья, если дать взять пачку сигарет руками. См. здесь, если вы не использовали егоDocker, Спешите найти информацию, чтобы узнать, это не сложно. Не забудьте обратить внимание, вернитесь и поделитесь галантерейными товарами ниже. Так как же яSpring BootКонтейнеризация приложений.
2. Окружающая среда
- Spring Boot версии 2.2.0.РЕЛИЗ
-
Jdk
Версияjava 8
Здесь вы можете выбратьopenjdk8
илиoracle jdk8
-
Docker
среда может выбиратьLinux
,Mac
илиWin10专业版
не большая разница - Инструменты разработки
Idea 2019
Окончательный
3. Приложение Spring Boot
Создание простого имени через IDEAdocker-springboot
Веб-приложение Maven Springboot. И напишите интерфейс Spring MVC.
Далее нам нужно упаковать весеннюю загрузку в исполняемый файл jar.
нажмите вышеpackage
или знакомыйMavenИспользование командной строки высокого уровняmvn clean package
После компиляции он будет вtarget
Найдите упакованный в каталогеjar
документ.
4. Пишите сценарии Docker
вниз, чтобы написатьDockerСкрипт упаковки для создания образа, имя должно бытьDockerfile, расположение — это корневой каталог проекта, а расположение операции через подключаемый модуль Maven отличается. Содержание выглядит следующим образом
# 使用aws 的 openjdk8
FROM amazoncorretto:8
# 作者署名
MAINTAINER Felordcn
# 挂载的容器磁盘
VOLUME ["/tmp"]
# 使用东八区时间 环境 其他环境参数也可以通过ENV 声明
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# add 命令是 将主机构建环境(上下文)目录中的文件和目录、以及一个URL标记的文件 拷贝到镜像中
ADD /target/docker-springboot-0.0.1-SNAPSHOT.jar app.jar
# 暴露端口 跟springboot 默认应用端口一样
EXPOSE 8080
# 启动镜像就执行的命令操作 相当于执行 java -jar app.jar -Djava.security.egd=file:/dev/./urandom 最后的指令是为了加快启动
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]
5. Создайте образ
Затем откройте инструмент командной строки в каталоге проекта (идея приходит с ним), чтобы выполнить скрипт (не забудьте запустить докер), не забудьте, что последняя точка представляет текущий путь, другие пути пишут относительные пути
docker build -t docker-springboot:0.0.1 .
Затем перейдите к этапу многослойного построения, и окончательное изображение станет следующим
6. Запустите контейнер
выполнение командной строкиdocker images
Проверьте, есть ли онdocker-springboot:0.0.1
, если результат такой же, как на картинке выше, он должен существовать. Затем запустите контейнер из образа, командная строка выглядит следующим образом
docker run --name docker-app -p 8088:8080 docker-springboot:0.0.1
Команда означает, что мой передний план изdocker-springboot:0.0.1
Зеркало начинается с имени, называемогоdocker-app
контейнерное приложение, при размещении контейнера内部端口8080
сопоставить с宿主机端口8088
, чтобы мы могли передать локальный порт8088
доступ к контейнерному порту8080
. Затем вы получаете доступ к интерфейсу, написанному выше http://localhost:8088/docker/hello
Готово. Таким образом, мы можем просто достичьSpring BootКонтейнеризация приложений
7. Резюме
Контейнеризация приложений — горячая тема последних лет. Более того, контейнерные технологии появляются одна за другой, поэтому необходимо осваивать технологию контейнеризации приложений. Сегодня мы используем его с нуля шаг за шагомDockerпостроилSpring Boot
контейнер. Надеюсь, это поможет вам.
关注公众号:Felordcn获取更多资讯