gpt4 book ai didi

docker - 如何减小 Docker 镜像的大小

转载 作者:IT老高 更新时间:2023-10-28 21:24:51 26 4
gpt4 key购买 nike

我有 Node.js 应用程序,我作为 docker 容器运行。这是 该应用程序的 Dockerfile。

FROM ubuntu

ARG ENVIRONMENT
ARG PORT

RUN apt-get update -qq
RUN apt-get install -y build-essential nodejs npm nodejs-legacy vim

RUN mkdir /consumer_portal
ADD . /consumer_portal
WORKDIR /consumer_portal

RUN npm install -g express
RUN npm install -g path
RUN npm cache clean
RUN npm install

EXPOSE $PORT

ENTRYPOINT [ "node", "server.js" ]
CMD [ $PORT, $ENVIRONMENT ]

我可以在这个 Dockerfile 中修改一些东西来减小 docker 镜像的大小

最佳答案

使用 the official node alpine image正如这里大多数人所建议的那样,作为基础镜像是减小镜像整体大小的简单解决方案,因为即使是基础 alpine 镜像也比基础 ubuntu 镜像小很多。

Dockerfile 可能如下所示:

FROM node:alpine

ARG ENVIRONMENT
ARG PORT

RUN mkdir /consumer_portal \
&& npm install -g express path

COPY . /consumer_portal
WORKDIR /consumer_portal

RUN npm cache clean \
&& npm install

EXPOSE $PORT

CMD [ "node", "server.js" ]

几乎相同,应该可以按预期工作。您的 ubuntu 镜像中的大多数命令都可以以相同的方式应用到 alpine 镜像中。

当我添加模拟数据以创建与您可能拥有的类似项目时,会生成一个大小为 491 MB 的 ubuntu 图像,而 alpine 版本只有 62.5 MB 大:

REPOSITORY   TAG       IMAGE ID        CREATED          SIZE
alpinefoo latest 8ca6f338475e 5 minutes ago 62.5MB
ubuntufoo latest 38620a1bd5a6 6 minutes ago 491MB

关于docker - 如何减小 Docker 镜像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43634109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com