我正在 docker 容器内运行 Express api 服务器。现在,当我尝试通过multer设置dest参数来上传文件时,/它会上传到 docker 容器内的某个位置(很可能/dist/api/)。
该 API 是从 dist 运行的,因此控制台日志__dirname给了我/dist/api/它位于 docker 容器内而不是在真实主机中。我需要上传里面的文件/home/uploads/images/。我怎样才能做到这一点?也许这很容易,但我对 docker 不太了解。
API 的 Docker 文件
FROM node:8.10
# Set a timezone
ENV TZ=UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY . .
RUN yarn install
RUN yarn run build
CMD node dist
HEALTHCHECK --interval=5s --timeout=30s --retries=50 \
CMD curl -f localhost:8080/api || exit 1
Run Code Online (Sandbox Code Playgroud)
Docker 撰写文件 …
这种方法有什么问题我无法获得正确的数组长度值
#!/bin/bash
foo(){
val=$@
len=${#val[@]}
echo "Array contains: " $val
echo "Array length is: " $len
}
var=(1 2 3)
foo ${var[@]}
Run Code Online (Sandbox Code Playgroud)
输出:
Array contains: 1 2 3
Array length is: 1
Run Code Online (Sandbox Code Playgroud)