如何在docker容器中部署应用

本篇内容介绍了“如何在docker容器中部署应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“如何在docker容器中部署应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序,十年建站对成都石牌坊等多个领域,拥有多年的网站推广经验。

一个简单的Hello World应用。

1.1 Maven依赖

org.springframework.bootspring-boot-starter-parent1.5.4.RELEASE 

引入spring-boot-starter-web来创建一个Web应用。

org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-web

1.2 主应用程序

@SpringBootApplicationpublic class FirtSpringBootApplication {public static void main(String[] args) {SpringApplication.run(FirtSpringBootApplication.class, args);}}

1.3 服务接口

RESTful服务接口:

@RestControllerpublic class HelloController {@RequestMapping("/hello")public String hello() {return "Hello World";}}

2 安装Docker,安装完毕后,Docker环境的虚拟IP是192.168.99.100。

3 部署应用

3.1 Spring Boot应用打包

在Spring Boot应用工程目录下执行mvn 打包命令:

mvn package spring-boot:repackage

工程的target目录里生成了一个jar包 firtSpringBoot-0.0.1-SNAPSHOT.jar。将jar包更名为firtSpringBoot-1.0.jar上传到Docker环境里。

3.2 Dockerfile文件

Dockfile原则上是一个批处理文件,包含了构建镜像的命令。将这些命令放入文件中并不是绝对必要的,因为我们可以将它们传递到命令行,只是使用文件更简单一些。

现在创建一个Dockerfile:

FROM alpine:edgeMAINTAINER peterwanghao.comRUN apk add --no-cache openjdk8VOLUME /tmpADD firtSpringBoot-1.0.jar firtSpringBoot.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/firtSpringBoot.jar"]

3.3创建镜像

在Dockerfile文件目录下运行docker build命令,这将下载基镜像并一条接一条地运行Dockerfile文件中的条目。创建的镜像的名字是first,标签1.0。–rm=true,在整个构建过程成功后删除中间环节的容器。

$docker build -t first:1.0 --rm=true .

使用docker images命令列出所有的镜像和它们的详细信息。

docker@default:~/first-spring-boot$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEfirst 1.0 02f67d8c308d 17 hours ago 119MBhello-world latest e38bc07ac18e 6 weeks ago 1.85kBalpine edge 5c4fa780951b 4 months ago 4.15MB

3.4 运行容器

接下来,我们将运行容器。使用下面的命令加载并运行容器。

docker run --name=first -p 8080:8080 -t first:1.0

使用docker ps命令列出正在运行的容器

docker@default:~/first-spring-boot$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES9fc3aef6e852 first:1.0 "java -jar /firtSpri 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp first


当前文章:如何在docker容器中部署应用
链接分享:http://pwwzsj.com/article/ceeis.html