开发的应用程序是由crud javaweb和tomcat和Postgres一起开发的。
我们仅将一个人的实体用作领域。
这是一个简单的教学用法,因此未解决它们
例如,安全概念和数据验证。
我们只专注于创建Java应用程序容器和一个容器
带有Docker的应用程序数据库。
构思以解决POS学科的活动
系统分析和开发课程
IFPB校园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后网点
复制create.sql /docker-entrypoint-initdb.d/
复制insert.sql /docker-entrypoint-initdb.d/
正如我们在上面的文件中所意识到的那样,我们正在设置Postgres
指示将创建以接收数据的用户,密码和银行的名称
应用。
在最后两行中,我们正在通知Docker,该码头在创建数据库之后
它应该读取两个create.sql文件的内容,该文件将创建表和insert.sql
这将插入后续业银行。
不轰动吗?
创建表Pessoa(
串行ID,
名称字符变化(80)不为空,
CPF字符变化(14)不为空,
主键(ID)
);
插入人(名称,CPF)值('Kiko','123.132.121-31');
插入人(名称,CPF)值('键','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中,Docker会自动为您安排
这是因为我们在相关的项目上描述了该行动。
来自Tomcat
复制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将Stoneiner银行链接到我们Java项目中引用的主机瓷砖。
现在转到浏览器打开您的项目:http:// localhost:8080/application
在上面,我们将Tomcat端口配置为8082记得吗?
就我的情况而言,由于我仍在Windows上使用Docker Toolbox,因此请通过http://192.168.99.100:8080/application.war/打开应用程序。
要简化开发过程,我们将创建两个.sh文件:
run.sh
run.sh文件必须包含以下内容:
Docker Build -t大象/银行./postgres
Docker Run -P 5433:5432 -D -Name Bank Elephant/Bank
MVN干净包装
docker build -t-aja-java图像。
Docker Run -P 8080:8080 -D--NAME APP-LINK银行:主机banco image-da-a application-java
nonrun.sh
Docker Stop App
Docker Kill应用程序
Docker RM应用程序
docker rmi -f图像application-java
Docker Stop Bank
Docker Kill Bank
Docker RM银行
Docker RMI -F大象/银行
因此,由于您已经创建了图像和容器,所以
不再需要键入每次创建数据库映像的命令,
创建联系人容器,然后创建Web应用程序的图像,创建
每次更新项目后的容器。
只需在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。