繁体   English   中英

如何使用 ubuntu:20.04 作为容器的基本映像来制作 MERN 堆栈应用程序的 Docker 映像?

[英]How do I make my Docker image of MERN stack application using ubuntu:20.04 as a base image of my container?

来自我身边的问候......我对 docker 很陌生。 我只是学习了 docker 的基础知识,例如:容器、图像、卷、docker-compose。 所以我有一项任务需要对我的 MERN 堆栈应用程序进行 dockerise,即 Mongodb、Express、React、Node。 但条件是我使用的操作系统为 ubuntu:20.04 版本。 现在我需要对接我的 MERN 应用程序,我的 docker 映像文件的基本映像是 ubuntu:20.04。 我怎样才能做到这一点? 就像我正在尝试这样:

FROM node:16-ubuntu:20.04
WORKDIR /app/
COPY package*.json .
RUN npm install
COPY . .
CMD ["npm","run","dev"]

当我尝试构建它时,它给了我一个错误:

failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to parse stage name "node:16-ubuntu:20.04": invalid reference format
ERROR: Service 'app' failed to build : Build failed

谁能解决我的问题? 或指导我。 谢谢!

您所犯的错误是您试图提取不存在的 docker 图像。您无需在基本图像中提及 Ubuntu:20.04 尝试在节点 16.x 中找到基本图像

我可以找到这张图片,它应该可以在 linux 机器中正常运行。 尝试使用此基础映像

From node:16.3.0-alpine

如果您需要其他一些基本图像 go 到 docker 集线器并搜索节点并在过滤器搜索节点:16 个基本图像。

节点 docker 图像

要构建反应图像,请尝试关注一些博客,以了解您需要在 docker 文件中执行的所有步骤

构建一个反应图像

我是如何建立一个反应图像的

FROM node:16.3.0-alpine
WORKDIR /app/
COPY package*.json .
RUN npm install
COPY . .
EXPOSE 7777
CMD ["npm","start"]

确保您公开的端口和您配置的端口相同。 这可以在 web pack.config.js 中找到

  devServer: {
    inline: true,
    host: '0.0.0.0',
    port: 7777
  },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM