所以我刚刚创建了一个非常基本的Node应用程序。我想练习将其放入docker容器并将其部署到另一台服务器上。
我使用这里的步骤(https://nodejs.org/en/docs/guides/nodejs-docker-webapp/)来创建一个构建docker镜像的dockerfile。
我想把这张图片复制到服务器上。
因此,我运行此命令将其保存到tar文件,然后将该文件复制到服务器。
docker save -o <save image to path> <image name>
在运行该命令时,我的图像大小为750Mbs -这是一个hello world节点应用程序。
所以我有点理解为什么会这样-- 750Mb用于dockerfile中描述的所有层,其中包括node:8,它基本上包含了运行Node的操作系统。
我的问题是,每次我想进行部署时,750mb都是一个非常大的文件。是否可以在运行SAVE命令时告诉docker不要打包所有的层?最好,它应该只为我的应用程序打包我的自定义文件加上dockerfile,它将在服务器上构建镜像。
编辑-我的docker文件
FROM node:8
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm install --only=production
# Bundle app source
COPY . .
CMD [ "node", "app.js" ]
发布于 2020-04-02 19:40:53
您可以通过registry:2
镜像使用自己的基于Docker的注册服务。将其托管在您希望对映像进行身份验证和更新的位置,并按您希望的方式拉取它们。
https://stackoverflow.com/questions/52259563
复制相似问题