Sign inSign up

haifengat/devpy

By haifengat

•Updated almost 6 years ago

develop environ for python, include pandas, numpy, excel ......

Image
0

625

haifengat/devpy repository overview

⁠说明

基于centos8.2制作,安装git/sshd,中文支持。

登录密码 root pentakill

基于此镜像的镜像需要在 Dockerfile中的 EntryPoint 中加入 /usr/sbin/sshd -D 才能启动sshd服务。

⁠Dockerfile

FROM centos:8.2.2004
### root:pentakill

### author label
LABEL maintainer="HaiFeng"

### 解决ssh连接后丢失 docker run ... -e 设置的环境变量的问题
RUN echo "export \$(cat /proc/1/environ |tr '\0' '\n' | xargs)" >> ~/.bashrc

### 密码 # 配置 ll #修改时区 # 注意密码长度>8
RUN echo "root:pentakill" | chpasswd \
&& echo "alias ll='ls $LS_OPTIONS -lh --color=auto'" >> ~/.bashrc \
&& rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "keepcache=0" >> /etc/yum.conf

### 换源(在hub.docker中导致安装应用过慢)
RUN sed -i \
-e 's|^mirrorlist=|#mirrorlist=|' \
-e 's|^#baseurl=|baseurl=|' \
-e 's|http://mirror.centos.org|https://mirrors.aliyun.com|' \
/etc/yum.repos.d/*.repo

RUN yum clean all && yum makecache

#升级
RUN yum -y update --refresh

# 安装 python 3.6
RUN yum install python3 python3-devel -y \
&& ln -s /usr/bin/python3.6 /usr/bin/python \
&& ln -s /usr/bin/pip3.6 /usr/bin/pip \
 # python换源
&& mkdir -p ~/.pip/ \
&& echo $'[global]\n\
timeout = 6000\n\
index-url = https://pypi.tuna.tsinghua.edu.cn/simple\n\
[install]\n\
trusted-host = mirrors.aliyun.com\n'\
> ~/.pip/pip.conf

### 安装git  sshd服务   中文环境
# 使用 locale -a 检查中文支持是否正常
RUN yum install git openssh-server langpacks-zh_CN.noarch -y
# 安装oracle驱动
RUN yum install -y unzip libnsl openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel postgresql-devel bzip2 make gcc gcc-c++ epel-release libaio \
&& mkdir -p /opt/oracle && cd /opt/oracle \
&& curl -o ora.zip \
https://download.oracle.com/otn_software/linux/instantclient/195000/instantclient-basic-linux.x64-19.5.0.0.0dbru.zip \
&& unzip ora.zip \
&& sh -c "echo /opt/oracle/instantclient_19_5 > /etc/ld.so.conf.d/oracle-instantclient.conf" \
&& ldconfig \
&& mkdir -p /opt/oracle/instantclient_19_5/network/admin && rm -f ora.zip

# 安装python组件
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir pandas msgpack cx_Oracle SQLAlchemy paramiko redis psycopg2-binary xmltodict py_smtp color_log PyYAML pyecharts pipreqs twine openpyxl xlrd xlwt flask waitress pymysql py_ctp

# 安装ta-lib
ADD ta-lib-0.4.0-src.tar.gz .
RUN cd ta-lib/; \
 ./configure --prefix=/usr; \
 make && make install; \
 pip install --upgrade pip; \ 
 pip install --no-cache-dir numpy; \
# 支持将order写入pg
 pip install ta-lib;

 
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
ENV LD_LIBRARY_PATH /opt/oracle/instantclient_19_5:\$LD_LIBRARY_PATH
### port
EXPOSE 22

## 启动sshd
RUN yum clean all \
&& ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' \
&& ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' \
&& ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' \
&& rm -rf /run/nologin

ENTRYPOINT ["/usr/sbin/sshd", "-D"]

⁠Build & Push
docker build -t haifengat/devpy:8.2.`date +%Y%m%d` . \
&& docker push haifengat/devpy:8.2.`date +%Y%m%d`
⁠docker-compose.yml
version: "3.7"
services:
  devpy:
    image: haifengat/devpy:8.2.1213
    container_name: devpy
    restart: always
    ports:
      - "2222:22"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      # 生成id_isa添加到gitee,实现git push
      - ./ssh:/root/.ssh
      # git 配置信息 user.name  user.email
      - ./gitconfig:/root/.gitconfig:ro
      # vscode服务端(一次安装长期使用)
      - ./.vscode-server:/root/.vscode-server
      # code
      - /mnt/code:/home/code
⁠附
⁠20201213

增加talib 方便策略开发

Tag summary

Content type

Image

Digest

Size

484.3 MB

Last updated

about 6 years ago

docker pull haifengat/devpy