angular - Angular + Docker:docker-compose 的麻烦
问题描述
我为我的 Angular 应用程序准备了 Dockerfile,如下所示:
FROM node:11.6.0-alpine AS builder
COPY . ./ToDoApp
WORKDIR /ToDoApp
RUN npm i
RUN $(npm bin)/ng build --prod
FROM nginx:1.15.8-alpine
COPY --from=builder /ToDoApp/dist/ToDoApp/ /usr/share/nginx/html
我使用命令:
docker build --rm -t todoapp:latest .
docker run --rm -d -p 90:80/tcp todoapp:latest
并且网站在available:90上可用。
不,我尝试准备 docker-compose.yml 用于运行我的网站和其他服务。除我的网站外,一切正常。我不知道为什么它不起作用。我仍然收到一条消息“todoapp exited with code 0”。
我的 docker-compose.yaml:
services:
todoapp:
container_name: todoapp
restart: always
build:
context: ./ToDoApp
dockerfile: Dockerfile
ports:
- "4200:80"
volumes:
- .:/usr/share/nginx/html
任何人都可以帮助我吗?
解决方案
如果你想让你的容器在分离模式下运行,你需要在前台运行一些东西。一个简单的方法是将/dev/null
设备作为 Docker 映像的CMD
或ENTRYPOINT
命令来尾随。
在 docker 文件中添加以下内容作为最后一步
CMD tail -f /dev/null
http://bigdatums.net/2017/11/07/how-to-keep-docker-containers-running/
推荐阅读
- docker - Traefik 未将请求路径传递给 Strapi CMS
- git - svn:从远程 git 存储库的特定提交中导出文件夹
- react-native - React Native Modal:透明背景和布局问题
- django - 黑客是如何产生这个 GET 请求的?
- odoo-12 - Odoo - 为什么 odoo 将 TransientModel 的数据(如 res.config.settings)存储到 ir.config_parameter 中?
- r - dplyr 中 group_by 的另一个大数据问题
- php - 加载 php_xdebug 失败
- jquery - jquery 中的 onblur 和 onfocus 事件有时在 IE 浏览器上无法正常工作
- laravel - 我可以在刀片中使用 Auth 方法在选择中显示某些选项吗?
- r - 根据标题将文本转换为 data.frame