我正在尝试开发一个简单的react应用,并且试图使用docker来运行开发服务器,但是它没有在浏览器中连接
这是Dockerfile.dev
FROM node:alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "start"]
EXPOSE 3000
以下是创建和运行容器的两个命令
docker build -f Dockerfile.dev .
docker run -p 3000:3000 <image_id>
它正在像正常的npm start一样启动开发服务器,但是它不在本地主机上的浏览器中运行:3000
答案 0 :(得分:1)
如果您没有提及-it
或-dit
(如果不是拼写错误),则您的容器将存在。之所以被立即停止,是因为bash找不到要分配的任何伪终端。您必须指定-it
或-dit
,以便bash或sh可以分配给伪终端。
docker run --name test -p 3000:3000 <image_id>
如果运行docker ps | grep test
,您将在输出中看到
"/bin/bash" {some} seconds ago Exited (0) {some} seconds ago
现在尝试使用
docker run --name test -dit -p 3000:3000 <image_id>
或
docker run --name test -it -p 3000:3000 <image_id>
已更新:
对于窗口,泊坞窗工具箱遵循以下步骤。
单击适当的机器(可能是标有“默认”的机器) 设置
运行命令:
docker run -dit -p 3000:3000 ${image_id}