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

8 篇文章 0 订阅
8 篇文章 0 订阅

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等云原生内容,请关注下方博主公众号:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在阿里云上通过 Kubernetes + Docker 实现 Hyperf 容器部署的文档,供您参考: 1. 准备工作 - 安装 Docker:您需要在本地或服务器上安装 Docker。 - 安装 kubectl:您需要在本地或服务器上安装 kubectl,用于管理 Kubernetes 集群。 2. 创建 Docker 镜像 首先,您需要创建一个 Docker 镜像,该镜像包含了 Hyperf 应用程序以及其依赖项。您可以使用 Dockerfile 来定义镜像的构建过程。示例 Dockerfile 如下: ``` FROM php:7.4-fpm # 安装依赖 RUN apt-get update && \ apt-get install -y git zip unzip && \ docker-php-ext-install pdo_mysql && \ pecl install redis && \ docker-php-ext-enable redis # 安装 Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # 复制 Hyperf 应用程序 COPY . /var/www # 安装依赖项 WORKDIR /var/www RUN composer install # 暴露端口 EXPOSE 9501 # 启动命令 CMD ["php", "bin/hyperf.php", "start"] ``` 其中,我们使用了 `php:7.4-fpm` 作为基础镜像,安装了 Hyperf 应用程序所需的依赖项,并将应用程序复制到了 `/var/www` 目录中。我们还使用了 Composer 安装了应用程序的依赖项,并暴露了端口 `9501`。在启动容器时,我们使用了 `php bin/hyperf.php start` 命令来启动 Hyperf 应用程序。您可以根据实际情况修改 Dockerfile。 然后,使用以下命令构建 Docker 镜像: ``` docker build -t your-image-name . ``` 其中,`your-image-name` 是您的镜像名称。 3. 创建 Kubernetes 集群 您需要在阿里云上创建一个 Kubernetes 集群,用于部署 Hyperf 应用程序。具体操作步骤请参考阿里云 Kubernetes 文档。 4. 部署应用程序 接下来,您需要在 Kubernetes 集群中部署 Hyperf 应用程序。您可以使用以下命令进行部署: ``` kubectl create deployment your-deployment-name --image=your-image-name kubectl expose deployment your-deployment-name --type=LoadBalancer --port=80 --target-port=9501 ``` 其中,`your-deployment-name` 是您的部署名称,`your-image-name` 是您的 Docker 镜像名称。 该命令将创建一个名为 `your-deployment-name` 的部署,并使用了名为 `your-image-name` 的 Docker 镜像。该命令还将暴露端口 `80`,并将其映射到端口 `9501`。 5. 访问应用程序 最后,您可以使用以下命令查看服务的 IP 地址和端口号: ``` kubectl get services ``` 然后,您可以使用浏览器或其他工具访问 Hyperf 应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值