好物优选点击查看详情 京东购买

暂无内容

如何在阿里云上快速部署一套应用(docker 容器化)

1、准备工作

首先需要在阿里云上租一个ECS服务器,然后要有一个自己的应用,我这里是Java的springboot应用。选购服务器时操作系统选用Linux 系统,这里选用的是Centos 7.4.

2、docker容器化部署Java应用

拿到阿里云的服务器之后,可以使用xshell等连接工具,使用服务器设置的用户名和密码登录进去,或者直接在aliyun控制台上登录进去。为了方便我们后期中间件以及服务的运行,首先安装docker引擎,后续可使用docker快速部署应用,同时也可使服务做到容器化方便管理。docker 引擎的安装非常简单,直接使用下面的yum命令进行安装:

yum -y install docker;

当docker –version 出现下面的版本号信息时,则证明你的docker引擎安装成功!

[root@izbp19p6vshix6mvt16vonz ~]# docker --version Docker version 1.13.1, build 0be3e21/1.13.1 

如何使用docker部署你的第一个Java应用,也可以参考之前写的一篇文章:如何使用docker运行你的第一个Java容器。这里以我部署的一个服务为例:首先下载jdk8 的基础镜像:

docker pull docker.io/adoptopenjdk/openjdk8 

我这里是springboot项目所以构建出来就是一个jar包,借助Maven工具将项目打成jar包之后,用ftp工具把包上传到服务器,然后在该文件夹创建Dockerfile,用于构建镜像:Dockerfile内容如下:

FROM docker.io/adoptopenjdk/openjdk8:latest # jar包名字需要更改为自己jar包名称项目名字-版本号,后面app.jar 不变 ADD test-1.0.jar app.jar EXPOSE 8080 ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar app.jar

使用docker build 构建镜像:

docker build -t test/test-java:1.0 .

最后使用docker run 运行Java容器:

docker run -d -p 8080:8080 --name=test--restart=always test/test-java:1.0

注: 几个常用的操作docker容器的命令如下:

1、删除旧服务容器 docker stop test; docker rm test; 2、 查看服务运行日志 docker logs -f test

3、nginx反向代理服务器的安装与配置

部署Java应用之后最好再部署一个反向代理服务器nginx,可以保护我们的web容器,也便于后续扩展等。这里同样直接使用docker 容器进行部署。使用docker pull 拉取nginx镜像,也可以直接部署,如果检测到本机没有对应镜像,则会直接从官方拉取。

docker pull docker.io/nginx:1.10.2

docker 命令部署nginx服务:

docker run -d \ -p 80:80 \ -p 443:443 \ -v /home/admin/midware/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/admin/midware/nginx/conf.d:/etc/nginx/conf.d \ --name nginx \ --net host \ --restart always \ docker.io/nginx:1.10.2

nginx.conf 是nginx的主配置文件负责nginx的全局配置,它会加载conf.d/文件夹下面的配置文件,该文件夹下面有个default.conf 可以自定义路由转发规则等等。比如我们如果不加端口请求进来的就是默认80端口(HTTP),或者443端口(HTTPS),而我们的Java服务一般用Tomcat作为web容器,默认端口是8080,那么我们就希望通过nginx 80 端口请求转发进来之后再代理到我们的Java Tomcat服务上,从而访问正常的Java业务。conf.d 文件夹下的 default.conf 的配置如下:

server { listen 80; server_name **.**.**.182; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 

注意: 上面打**的地方替换成自己的阿里云服务器外网地址,这样通过监听80端口,就可以反向代理到自己的Tomcat服务上了。如果访问失败,可能是服务器的安全组策略没有打开或配置,打开aliyun服务器的【安全组】那一项,一般配置系统默认的普通安全组开放的端口就够用了,有80/443/22等普遍使用的端口。

如何在阿里云上快速部署一套应用(docker 容器化)插图

4、大功告成

这里访问一下微风部署的一个搜券神器 内部优惠 如果返回下面的内容,就大功告成了。(当然,你的服务器返回的应当是你自定义的内容)

顺便说一下,这个链接可以搜索某宝内部优惠券,有兴趣的可以看一看哦!

如何在阿里云上快速部署一套应用(docker 容器化)插图1

想要了解更多关于docker以及k8s等云原生内容,请关注下方博主公众号:

原文链接:https://blog.csdn.net/u012809308/article/details/113438850

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享