如何在阿里云上快速部署一套应用(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等普遍使用的端口。

4、大功告成

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值