eri*_*mon 6 node.js docker reactjs docker-compose
这是专门针对教程的问题:http://mherman.org/blog/2017/12/07/dockerizing-a-react-app/#.Wv3u23WUthF ,作者: Michael Herman
\n\n问题:应用程序在容器内启动,但无法从我刚刚公开的端口访问它-p 3000:3000。当浏览时localhost:3000出现此站点可以\xe2\x80\x99t错误
docker-compose.yaml
\n\nversion: \'3.5\'\n\nservices:\n\n sample-app:\n container_name: sample-app\n build:\n context: .\n dockerfile: Dockerfile\n volumes:\n - \'.:/usr/src/app\'\n - \'/usr/src/app/node_modules\'\n ports:\n - \'3000:3000\'\n environment:\n - NODE_ENV=development\nRun Code Online (Sandbox Code Playgroud)\n\nDockerfile
\n\n# base image\nFROM node:9.6.1\n\n# set working directory\nRUN mkdir /usr/src/app\nWORKDIR /usr/src/app\n\n# add `/usr/src/app/node_modules/.bin` to $PATH\nENV PATH /usr/src/app/node_modules/.bin:$PATH\n\n# install and cache app dependencies\nCOPY package.json /usr/src/app/package.json\nRUN npm install --silent\n# RUN npm install react-scripts@1.1.1 -g --silent # Uncomment to silent logs\nRUN npm install react-scripts@1.1.1 -g \n\n# start app\nCMD ["npm", "start"]\n\n#CMD tail -f /usr/src/app/README.md\n\n\n###################################\n# To Run sample app:\n# docker run -it -v ${PWD}:/usr/src/app -v /usr/src/app/node_modules -p 3000:3000 --rm sample-app\nRun Code Online (Sandbox Code Playgroud)\n\nDocker 日志:https://docs.google.com/document/d/14LRCgjMLAkmdMiuedxAW2GWUAtxmWeJQCNQB2ezdYXs/edit
\n\n运行组合容器或单个容器后。显示启动成功,但此后什么也没有。
\n\n当我 docker exec 进入容器时,$ curl localhost:3000返回正确的 index.html 页面
我使用以下任一方法启动容器:
\n\n$ docker run -it -v ${PWD}:/usr/src/app -v /usr/src/app/node_modules -p 3000:3000 --rm sample-app\nRun Code Online (Sandbox Code Playgroud)\n\n<-(图像sample-app存在)
或者
\n\n$ docker-compose up\nRun Code Online (Sandbox Code Playgroud)\n
消除所有其他因素后,我假设您的应用程序正在本地主机上侦听。本地主机的范围仅限于容器本身。因此,为了能够连接到它,您必须位于容器内部。
要解决此问题,您需要让应用程序侦听 0.0.0.0。
| 归档时间: |
|
| 查看次数: |
4677 次 |
| 最近记录: |