【这里你的项目地址要写成0.0.0.0,方便端口检测】
要在 Docker 中部署 Node.js 并运行项目,你可以遵循以下步骤:
-
编写 Dockerfile: 创建一个名为 Dockerfile的文件,在其中编写 Docker 镜像的配置。以下是一个简单的示例:
-
docker pull node:14-buster【如果源不好用了话就先执行这个指令,版本自选】
# 使用官方 Node.js 14 镜像作为基础镜像 FROM FROM pull node:14.18.3 COPY package*.json ./ # 设置工作目录 WORKDIR /home/lawaidev/guliSchool/school前端 # 安装项目依赖 RUN npm install # 复制 package.json 和 package-lock.json 到工作目录 复制 static 文件夹到工作目录 COPY . . COPY nuxt.config.js ./ COPY static ./static COPY .nuxt ./.nuxt # 暴露容器端口 EXPOSE 3000 # 启动应用程序 CMD ["npm", "run", "start"]
在这个 Dockerfile 中,我们使用了 Node.js 14.18.3 的官方镜像作为基础镜像,然后设置了工作目录、安装了依赖、复制了应用程序代码,并且设置了容器监听的端口。
-
构建 Docker 镜像: 在 Dockerfile 所在目录中打开终端,运行以下命令来构建 Docker 镜像:
docker build -f my-node-app .
-
这将基于 Dockerfile 构建一个名为 my-node-app 的 Docker 镜像。
-
运行 Docker 容器: 使用以下命令将构建的 Docker 镜像运行为一个容器:
docker run -d --restart=always --name xxxx -uroot -p 3000:3000 -v /home/lawaidev/guliSchool/school前端:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker node:14-buster
这将在本地的端口 3000 上运行你的 Node.js 应用程序。
确保你的应用程序代码在 Dockerfile 所在的目录中,并且 Dockerfile 和应用程序代码都被正确地复制到了 Docker 镜像中。
【失败情况下会用到的命令】
sudo docker rm 45dbf17ec224
sudo docker rmi -f ad6ff6ca3a70
docker ps -a
sudo docker logs 容器id