Разработанное приложение является одним из Crud Javaweb с Tomcat и Postgres.
Мы используем только сущность одного человека в качестве домена.
Это простое приложение для дидактического использования, поэтому они не были рассмотрены
Например, концепции безопасности и проверка данных.
Мы фокусируемся только на создании контейнера для приложения Java и контейнера для
База данных приложений с Docker.
Задумано для разрешения деятельности дисциплины POS
Системный анализ и курс разработки
IFPB Campus Cajazerias
Дисциплина профессора Рикардо Иов
Прежде всего получите Docker 
Docker скачать
Но поскольку мы используем Docker для развертывания, вы можете использовать только один текстовый редактор, такой как Sublime или Notepad ++ ...





Если вам нравится стиль разрешения IDE поможет вам завершить код, вы можете использовать NetBeans или Eclipse. 

Dockerfile базы данных В рамках вашего проекта создайте каталог с именем postgres , а в создании файла Dockerfile с именем с именем, а также еще два файла create.sql и insert.sql, мы скоро поговорим о них и их контенте.
В файле DockerFile был следующий контент:
От Postgres
Env postgres_user postgres
Env postgres_password 12345
Env postgres_db post-client
Скопируйте create.sql /докер-Enterpoint initdb.d//
Скопировать insert.sql /докер-Enterpoint initdb.d//
Как мы понимаем в приведенном выше файле, мы настраиваем Postgres
Указывая пользователя, пароль и имя банка, которое будет создано для получения данных
Приложение.
В последних двух строках мы информируем Docker, который после создания базы данных
Он должен прочитать содержимое двух файлов create.sql , которые создаст таблицу и insert.sql
Это будет вставить в банк Post-Client.
Сенсационное не?
Создать таблицу Pessoa (
серийный идентификатор,
Имя символ варьируется (80), а не ноль,
Символ CPF варьируется (14) не нулевой,
Первичный ключ (ID)
);
Вставить в личные (имя, cpf) значения ('kiko', '123.132.121-31');
Вставьте в Person (имя, CPF) значения ('Keys', '123.132.121-31');
Вставить в личные (имя, cpf) значения ('Chiquinha', '123.132.121-31');
Вставьте в личные (имя, CPF) значения ('Madruga', '123.132.121-31');
Вставьте в личные (имя, CPF) значения ('Florinda', '123.132.121-31');
docker build -t elefante/banco ./postgres
-t : какой тег мы назначим этому изображению
./postgres
* elefante/banco : Имя изображения, которое мы приписали
После того, как вы запустите команду выше, если у вас нет изображения
Из Postgres Docker будет организовать для вас автоматически, конечно
Это потому, что мы описываем это на Dockerfile.
docker image ls
или
docker images
docker run -p 5433:5432 -d --name banco elefante/banco
-p : привязка между локальной дверью хоста с дверью контейнера -d : контейнер будет выполнен на фоне, не затрудненном на терминале --name : Имя контейнера banco : Имя контейнера
Выше мы настроили пост от Postgres до 5433, который в этом случае был портом
То, что я настроил в своем приложении Java, дверь после : - это дверь контейнера, которую мы создали.
Dockerfile FROM tomcat
COPY target/Aplicacao.war ${CATALINA_HOME}/webapps
FROM : Скажи, какой образ нам нужно
COPY : скажем, откуда скопировать файлы .war для развертывания
${CATALINA_HOME}/webapps : место, где мы будем хранить славные файлы
Этот файл Dockerfile должен находиться в корневом каталоге вашего проекта.
Примечательно, что Aplicacao названия было финансом, которое я дал заявке
Внутри pom.xml.
Именно с таким именем мы будем называть систему в браузере.
<build>
<finalName>Aplicacao</finalName>
</build>
И, конечно, в папке WEB-INF у нас должен быть другой каталог под названием lib
Это должно содержать библиотеки jstl.jar и standart.jar , в противном случае у нас будет
Проблемы при перевозке нашей системы в браузере.
docker build -t imagem-da-aplicacao-java .
-t : какой тег мы назначим этому изображению
. : относительный (или абсолютный) путь к файлу Dockerfile
После того, как вы запустите команду выше, если у вас нет изображения
от Tomcat, докер, конечно, организует вас автоматически,
Это потому, что мы описываем это действие в отношении проекта Dockerfile.
От Томката
Копировать target/application.war $ {catalina_home}/webapps
docker image ls
или
docker images
docker run -p 8080:8080 -d --name app --link banco:host-banco imagem-da-aplicacao-java
-p : связывать между дверью локального хоста с дверью контейнера
-d : контейнер будет выполнен на фоне* не затрудняя терминал
--name : имя контейнера
--link : Для Docker связать Банк Conteiner с The Countile, который упоминается в нашем проекте Java в файле dbutil.java
Теперь перейдите в браузер, чтобы открыть свой проект: http: // localhost: 8080/приложение
Выше мы настроили порт Tomcat на 8082, помните?
В моем случае, поскольку я все еще использую Docker Toolbox в Windows, я открываю приложение по адресу http://192.168.99.100:8080/application.war/
Чтобы упростить процесс разработки, мы создадим два файла .sh:
Run.sh
Файл run.sh должен содержать следующее содержимое:
Docker Build -t Elephant/Bank ./postgres
Docker Run -p 5433: 5432 -d -Name Bank Elephant/Bank
MVN Clean Package
Docker Build -t Image-of-Aja-Java.
Docker Run -p 8080: 8080 -d-Name App-Link Bank: Host-Banco Image-DA-A Application-Java
nonrun.sh
приложение Docker Stop
Docker Kill App
Docker RM App
Docker rmi -f Изображение применения-ява
Docker Stop Bank
Docker Kill Bank
Docker RM Bank
Docker rmi -f слон/банк
Итак, поскольку у вас уже есть изображения и контейнеры,
Больше не нужно каждый раз вводить команды создания изображения базы данных,
Создайте контактный контейнер, а затем создайте изображение веб -приложения, создайте
Контейнер после каждого обновления вашего проекта.
Просто открытый тип в Docker:
SH Run.sh
Сделает все сразу:
Sh nonrun.sh
Сделает все сразу:
Docker остановит контейнер применения
Docker убьет контейнер
Снимите контейнер применения
Вы удалите изображение из приложения Docker
Docker остановит контейнер Banco Elefante
Docker убьет контейнер
Удалить контейнер для банка
Удалить изображение банка
Maven очистит проект

docker container ls
docker ps -a
docker stop <container_id | container_name>
Ссылки на Docker
Мы используем git.