通过Docker容器开发React应用

时间:2019-08-01 09:12:13

标签: reactjs docker

我正在尝试开发一个简单的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

1 个答案:

答案 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>

很好localhost:3000

已更新:

对于窗口,泊坞窗工具箱遵循以下步骤。

单击适当的机器(可能是标有“默认”的机器) 设置

  • 网络>适配器1>高级>端口转发
  • 点击“ +”添加一个 新的规则集主机端口3000和访客端口3000;一定要离开主持人 IP和访客IP为空

运行命令:

docker run -dit -p 3000:3000 ${image_id}

docker-toolbox-localhost