使用Dockerfile创建node+python环境

Dockerfile配置

#基于centos7构建
FROM centos:7
    
#管理者信息
MAINTAINER Candyeel "1092824310@qq.com"

RUN rm /bin/sh && ln -s /bin/bash /bin/sh
#centos设置环境变量会报/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
ENV LANG zh_CN.UTF-8
#ENV LC_ALL zh_CN.UTF-8
#所以需要在设置环境变量之后使用localedef创建一个字符集
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8


#安装node

RUN yum -y install wget
RUN yum -y install gcc gcc-c++
RUN cd /usr/local/ && mkdir node
RUN wget https://npm.taobao.org/mirrors/node/v14.15.4/node-v14.15.4-linux-x64.tar.gz
RUN mv node-v14.15.4-linux-x64.tar.gz  /usr/local/node/  && ls 
RUN cd /usr/local/node/ && tar -xzvf node-v14.15.4-linux-x64.tar.gz && ls

#创建软链接
RUN ln -s /usr/local/node/node-v14.15.4-linux-x64/bin/node /usr/local/bin/node \
    && ln -s /usr/local/node/node-v14.15.4-linux-x64/bin/npm /usr/local/bin/npm

#CMD ["node","-v"]


#安装python

RUN yum install -y epel-release \
    && yum install -y wget
RUN yum install -y  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
RUN wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
RUN mv Python-3.6.5.tgz Python-3.6.5.tar.gz; tar -xvzf Python-3.6.5.tar.gz
RUN cd Python-3.6.5;  ./configure prefix=/usr/local/python3 ; make && make install

#创建软连接
RUN ln -s -f /usr/local/python3/bin/python3 /usr/bin/python \
    && ln -s -f /usr/local/python3/bin/pip3 /usr/bin/pip

RUN sed -i "1i #!/usr/bin/python2" /usr/bin/yum && sed -i "2d" /usr/bin/yum
RUN pip install --upgrade pip \
    && pip install requests -i https://pypi.douban.com/simple \
    && pip install PyExecJs -i https://pypi.douban.com/simple \
    && pip install flask -i https://pypi.douban.com/simple

#添加相应文件 前面是宿主机的文件位置 后面是放在容器里面的文件
ADD ./flask_api.py /flask_api.py
ADD ./get_cookie.js /get_cookie.js

#切换工作环境 (这里切换的是容器内部的工作路径)
WORKDIR /
#暴露端口
EXPOSE 8050

#运行命令 这里是用python启动了一个flask服务
CMD ["python", "./flask_api.py"]

  • 构建容器
  • 格式:docker build -t 容器名:版本号 .
  • docker build -t my_python_container:new .
  • 启动容器
  • 格式:docker run --name 容器别名 -d -p 主机端口:容器端口 容器名:版本号
  • docker run --name new_container -d -p 8050:8050 my_python_container:new
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值