ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

netcore Datax Web项目 docker打包

2019-08-15 13:03:09  阅读:386  来源: 互联网

标签:Web netcore python ## datax HOME home dataxWeb Datax


记一次项目打包过程

准备基础环境文件

基于CentOS7

  1. Python 2.6.X (本文准备了 2.6.1)
  2. Java1.8
  3. Datax 3.0
  4. Dokcer

==java,python 版本最好一致,其他版本没有测试==

准备项目文件

下面是我的目录,自行替换 datax解压放在 /home/www/datax dotnet项目放在 /home/www/dataxWeb 创建dockerfile文件

## 基础镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 5000:5000

## 导入datax 到/home/datax
COPY ["datax","/home/datax"]
ENV JAVA_HOME=/home/datax/env/jdk1.8.0_221
ENV PYTHON_HOME=/home/datax/env/python
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
ENV PATH=$PATH:$JAVA_HOME/bin:$PYTHON_HOME/bin
## 提升权限
RUN chmod -R 777 $JAVA_HOME/bin/java
RUN chmod -R 777 $PYTHON_HOME

## 编译
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src
COPY ["dataxWeb/dataxWeb.csproj", "dataxWeb/"]
RUN dotnet restore "dataxWeb/dataxWeb.csproj"
COPY . .
WORKDIR "/src/dataxWeb"
RUN dotnet build "dataxWeb.csproj" -c Release -o /app

## 发布Release到/app
FROM build AS publish
RUN dotnet publish "dataxWeb.csproj" -c Release -o /app


FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "dataxWeb.dll"]

编译Python源文件

下载源码包

wget https://www.python.org/ftp/python/2.6.1/Python-2.6.1.tgz 

解压到当前目录

tar -xzvf Python-2.6.1.tgz

准备压缩,编译,安装

cd Python-2.6.1
./configure --prefix=/usr/local/python
make && make install

移动编译python到 datax下面

mv -f /usr/local/python/   /home/www/datax/env/

准备jdk文件

官方下载jdk 1.8 即可,解压到 /home/www/datax/env/jdk1.8.0_221/

docker 编译

开始编译docker 镜像

cd /home/www/
docker build -t  xxx/dataxweb:0.1 --no-cache --rm=true .

运行容器

docker run -d --name dataxweb -p 5000:5000  xxx/dataxweb:0.1

测试

docker exec -it dataxweb /bin/bash
 ##进入容器
java -version
 ##java version "1.8.0_221"
 
python --version
 ## Python 2.6.1

END

标签:Web,netcore,python,##,datax,HOME,home,dataxWeb,Datax
来源: https://www.cnblogs.com/DaWeiCnblogs/p/11357308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有