在Docker实战中,Node.js是一个常用的开发和运行环境。以下是如何使用Docker与Node.js的常见操作:
-
拉取官方Node.js镜像:
从Docker Hub获取官方Node.js镜像,可以选择特定版本:docker pull node:14 # 拉取Node.js v14版
-
创建并运行Node.js容器:
运行一个Node.js容器,并挂载本地项目目录到容器内部,以便于开发或部署应用:docker run -it --name my_node_app -v $(pwd):/app -w /app node:14 bash
在这个命令中,
-it
表示以交互模式运行容器,--name
设置容器名称,-v
参数将宿主机当前目录映射到容器内的/app目录,-w
设置工作目录为/app,最后指定使用的镜像以及启动时执行的命令(这里是bash)。 -
构建基于Node.js的应用镜像:
创建一个名为Dockerfile
的文件,定义如何基于Node.js镜像构建包含应用程序的自定义镜像:FROM node:14 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ]
然后通过以下命令构建镜像:
docker build -t my-node-app .
-
运行自定义Node.js应用容器:
构建完成后,可以运行该自定义镜像来启动应用:docker run -p 8080:8080 -d my-node-app
此命令将容器内部的8080端口映射到宿主机的8080端口,并以守护进程模式运行。
-
使用Docker Compose管理Node.js服务:
在docker-compose.yml文件中配置Node.js服务:version: '3' services: app: build: . ports: - "8080:8080" volumes: - .:/usr/src/app working_dir: /usr/src/app command: npm start
然后通过
docker-compose up -d
命令启动服务。
以上步骤涵盖了从拉取官方Node.js镜像、创建及运行容器、构建自定义应用镜像、直至使用Docker Compose进行多服务编排的整个过程。实际应用场景中,可能还需要根据具体需求进一步调整配置。