使用python和R最小化docker映像

使用python和R最小化docker映像,python,r,linux,docker,ubuntu,Python,R,Linux,Docker,Ubuntu,我有以下Dockerfile: FROM ubuntu:latest RUN apt-get update \ && apt-get install -y python3-pip python3-dev \ && cd /usr/local/bin \ && ln -s /usr/bin/python3 python \ && pip3 install --upgrade pip # Setup the Pyth

我有以下Dockerfile:

FROM ubuntu:latest

RUN apt-get update \
  && apt-get install -y python3-pip python3-dev \
  && cd /usr/local/bin \
  && ln -s /usr/bin/python3 python \
  && pip3 install --upgrade pip

# Setup the Python's configs
RUN pip install --upgrade pip && \
    pip install --no-cache-dir matplotlib==3.0.2 pandas==0.23.4 numpy==1.16.3 && \
    pip install --no-cache-dir pybase64 && \
    pip install --no-cache-dir scipy && \
    pip install --no-cache-dir dask[complete] && \
    pip install --no-cache-dir dash==1.6.1 dash-core-components==1.5.1 dash-bootstrap-components==0.7.1 dash-html-components==1.0.2 dash-table==4.5.1 dash-daq==0.2.2 && \
    pip install --no-cache-dir plotly && \
    pip install --no-cache-dir adjustText && \
    pip install --no-cache-dir networkx && \
    pip install --no-cache-dir scikit-learn && \
    pip install --no-cache-dir tzlocal

# Setup the R configs
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
RUN add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'
RUN apt update
ENV DEBIAN_FRONTEND=noninteractive 
RUN apt install -y r-base
RUN pip install rpy2==2.9.4
RUN apt-get -y install libxml2 libxml2-dev libcurl4-gnutls-dev libssl-dev
RUN echo "r <- getOption('repos'); r['CRAN'] <- 'https://cran.r-project.org'; options(repos = r);" > ~/.Rprofile
RUN Rscript -e "install.packages('BiocManager')"
RUN Rscript -e "BiocManager::install('ggplot2')"
RUN Rscript -e "BiocManager::install('DESeq2')"
RUN Rscript -e "BiocManager::install('RColorBrewer')"
RUN Rscript -e "BiocManager::install('ggrepel')"
RUN Rscript -e "BiocManager::install('factoextra')"
RUN Rscript -e "BiocManager::install('FactoMineR')"
RUN Rscript -e "BiocManager::install('apeglm')"

WORKDIR /
# Copy all the necessary files of the app to the container
COPY ./ ./

# Install the slider-input component
WORKDIR /slider_input
RUN pip install --no-cache-dir slider_input-0.0.1.tar.gz

WORKDIR /
EXPOSE 8050

# Launch the app
CMD ["python", "./app.py"]
来自ubuntu的
最新版本
运行apt获取更新\
&&apt get安装-y python3 pip python3 dev\
&&cd/usr/local/bin\
&&ln-s/usr/bin/python3 python\
&&pip3安装--升级pip
#设置Python的配置
运行pip安装--升级pip&&\
pip安装--无缓存目录matplotlib==3.0.2==0.23.4 numpy==1.16.3&&\
pip安装--无缓存目录pybase64&&\
pip安装--无缓存目录scipy&&\
pip安装--无缓存目录dask[完成]&&\
pip安装--无缓存目录dash==1.6.1 dash核心组件==1.5.1 dash引导组件==0.7.1 dash html组件==1.0.2 dash表格==4.5.1 dash daq==0.2.2&&\
pip安装--无缓存目录打印(&D)\
pip安装--无缓存目录调整文本(&T)\
pip安装--无缓存目录networkx&&\
pip安装--无缓存目录scikit学习&&\
pip安装--无缓存目录-本地
#设置R配置
运行apt获取更新
运行apt get install-y软件属性common
运行apt key adv--keyserver keyserver.ubuntu.com--recv key E298A3A825C0D65DFD57CBB651716619E084DAB9
运行“添加apt存储库”debhttps://cloud.r-project.org/bin/linux/ubuntu 仿生-35/'
运行apt更新
环境DEBIAN_前端=非交互
运行apt安装-y r-base
运行pip安装rpy2==2.9.4
运行apt get-y安装libxml2 libxml2 dev libcurl4 gnutls dev libssl dev
运行echo“r用于最小化和保护您的docker图像。docker slim将配置您的docker图像,并丢弃您不需要的内容

它已用于运行在Ubuntu、Debian、CentOS、Alpine甚至Distroless上的Node.js、Python、Ruby、Java、Golang、Rust、Elixir和PHP(某些应用程序类型)

DOKER SLIM是生产准备好的,但是考虑在将容器部署到生产之前测试您的容器。将码头工人的图像缩小30X,同时使其安全。

< P>使用以最小化和确保您的码头工人图像。Doker-SLIM将配置您的码头工人图像并扔掉您不需要的东西。

它已用于运行在Ubuntu、Debian、CentOS、Alpine甚至Distroless上的Node.js、Python、Ruby、Java、Golang、Rust、Elixir和PHP(某些应用程序类型)


Doker-SLIM是准备好的,但在部署之前,先考虑测试容器。将DOCKER图像缩小30X,同时使其安全;

< P>多级构建将允许您省略编译器工具链、页眉等。从最终图像中,只包括生成的代码。

Python教程由三部分组成,具体从这里开始:


通用Docker文档:

多阶段构建将允许您从最终图像中省略编译器工具链、标题等,只包括生成的代码

Python教程由三部分组成,具体从这里开始:


通用Docker文档:

我尝试使用此工具,它创建了slim图像,但当我尝试运行此图像时,似乎是最后一个命令(启动web应用程序的命令)没有运行,您有什么建议吗?没有更多详细信息,我的猜测是有限的。您是否尝试手动运行该命令?
docker run image:latest“python app.py“
?是的,它给了我以下错误:
docker:来自守护进程的错误响应:OCI运行时创建失败:container\u linux.go:346:启动容器进程导致”exec:\“python./bisek\u app.py\”:stat python./bisek\u app.py:没有这样的文件或目录”:未知。ERRO[0000]等待容器时出错:上下文已取消
我尝试使用此工具,它创建了细长图像,但当我尝试运行此图像时,似乎最后一个命令(启动web应用程序的命令)未运行,您是否有任何建议,为什么会发生这种情况?没有更多详细信息,我的猜测是有限的。您是否尝试过手动运行该命令<代码>docker运行映像:最新的“python app.py”
?是的,它给了我以下错误:
docker:来自守护程序的错误响应:OCI运行时创建失败:container\u linux.go:346:启动容器进程导致“exec:\”python./bisek\u app.py\:stat python./bisek\u app.py:没有这样的文件或目录:未知。ERRO[0000]等待容器时出错:上下文已取消