如何在docker容器中部署应用

如何在docker容器中部署应用?docker是开发者的开放平台,容器是可扩展的,可更安全的使用和部署。Docker容器能够共享一个内核并共享应用程序库,这里介绍在Docker容器中部署简单的Spring Boot应用。

一个简单的Hello World应用。

1.1 Maven依赖

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

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

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

1.2 主应用程序

@SpringBootApplication
public class FirtSpringBootApplication {

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

1.3 服务接口

RESTful服务接口:

@RestController
public 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:edge
MAINTAINER peterwanghao.com
RUN apk add --no-cache openjdk8
VOLUME /tmp
ADD firtSpringBoot-1.0.jar firtSpringBoot.jar
EXPOSE 8080
ENTRYPOINT ["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 images
REPOSITORY TAG IMAGE ID CREATED SIZE
first 1.0 02f67d8c308d 17 hours ago 119MB
hello-world latest e38bc07ac18e 6 weeks ago 1.85kB
alpine 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 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9fc3aef6e852 first:1.0 "java -jar /firtSpri 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp first

测试访问

教程作者:RaiseHead

原文链接:https://www.jianshu.com/p/94e8dbba5d1d

西部数码容器云产品是通过docker技术,在云计算集群服务器上部署容器云服务实现,功能强大、简单易用,可作集群服务,自由搭建私有网络,轻松组建服务集群。

高性价比的容器云产品链接 https://www.west.cn/paas/container/

赞(1)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 如何在docker容器中部署应用

登录

找回密码

注册