# docker-express **Repository Path**: coder-farmer/express ## Basic Information - **Project Name**: docker-express - **Description**: Express admin - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-25 - **Last Updated**: 2024-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### dockerfile ```dockerfile FROM node:16-alpine ADD . /app WORKDIR /app RUN npm install CMD [ "node", "index.js" ] ``` ### docker build ```dockerfile docker build -t node:tag . # docker build 打包 # -t 指定名字版本号 node:tag 名称 # . 当前目录 ``` ### docker run ```dockerfile docker run -p 8999:8999 --name test-express -d node:tag # docker run 运行 # -p 本机端口:docker 端口 做映射 # --name 指定一个名称 # node:tag 运行的镜像 # -d 后台运行 ``` ### 目录挂载(寄主机挂在到容器目录中) ```dockerfile docker run -p 8999:8999 --name test-2 -v D:/Test/express:/app -d node:tag #--mount -v d:/code:/app # 寄主机目录绝对路径:容器目录 docker run -p 8999:8999 --name test-2 -v .:/app -d node:tag #--volume -v db-data:/app # 当前目录挂在到 .:/ app # 需要在当前运行目录 ``` ### 多容器之间的通信 ```dockerfile # 创建一个网络 docker network create test-net docker run -d --name redis --network test-net --network-alias redis redis:last docker run -d -p 8999:8999 --name test-2 --network test-net -v D:/Test/express:/app node:tag # docker run 运行 # -d 后台 # --name 指定容器名称 # --network 链接网络 test-net # --network-alias 网络别名 redis # 镜像包名 redis:last / node:tag ``` ### docker compose 多个项目 ```dockerfile #docker-compose.yml #配置文件 version: '0.0.1' services: app: build: ./ ports: - 8090:8999 volumes: - ./:/app environment: - TZ=Asia/Shanghai # redis: # image: redis:5.0.13 # volumes: # redis:/data # environment: # - TZ=Asia/shanghai # volumes: # redis: ``` ```dockerfile # 运行yml docker-compose up -d # 查看进程 docker-compose ps ```