我无法在容器中创建一个映射到目录“ / app”的卷
基本上,这就是我更新代码时不需要再次构建容器的原因
这是我的docker文件
# stage 1
FROM node:latest as node
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod
# stage 2
FROM nginx:alpine
COPY --from=node /app/dist/my-first-app /usr/share/nginx/html
我使用此命令来运行容器
docker run -d -p 100:80/tcp -v ${PWD}/app:/app docker-testing:v1
没有任何卷链接到它。
但是,如果我要这样做
docker run -d -p 100:80/tcp -v ${PWD} docker-testing:v1
我确实至少有一个音量
明显我做错了吗?
谢谢
答案 0 :(得分:1)
${PWD}:/app:/app
应该是${PWD}/app:/app
。
如果爆炸${PWD}
,您会得到类似/home/user/src/thingy:/app:/app
的东西,
编辑:
我建议使用docker-compose
来避免此类问题(它也大大简化了启动docker的命令)。
在您的情况下,docker-compose.yml看起来像这样:
docker run -d -p 100:80 / tcp -v $ {PWD}:/ app:/ app docker-testing:v1
version: "3"
services:
doctesting:
build: .
image: docker-testing:v1
volumes:
- "./app:/app"
ports:
- "100:80"
我并没有真正测试它是否可行,可能会有错别字...