我在Docker容器中有一个简单的Angular项目(当前仅是ng new ...
的结果)。容器正在运行命令ng build --watch
以根据源代码更改进行重建。一个单独的Docker容器运行Nginx以允许我查看结果。所有这一切的基本机制似乎运行良好:我可以编辑源代码,在浏览器中单击“刷新”并查看更改。
当我停止容器时,nginx容器会干净地退出,但是有角容器将退出并显示状态1。没有错误消息可以帮助我弄清错误是什么。
Dockerfile
FROM node:lts-alpine
RUN apk --no-cache add less bash jq curl wget zip git openssh
WORKDIR /app
docker-compose.yml
version: "3.7"
services:
nginx:
image: nginx:stable-alpine
restart: always
ports:
- 8080:80
volumes:
- ./src/admin/build:/var/www
- ./nginx.conf:/etc/nginx/conf.d/default.conf
admin:
image: angular # Custom image
build: .
working_dir: /app
command: sh -c "yarn && yarn run watch" # "watch" = "ng build --watch"
volumes:
- ./src/admin:/app
$ docker-compose up -d
$ docker-compose stop
$ docker inspect admin_1 | jq '.[0].State'
{
"Status": "exited",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 1,
"Error": "",
"StartedAt": "2020-09-30T01:10:29.063483594Z",
"FinishedAt": "2020-09-30T01:10:49.396912972Z"
}
泊坞窗日志除以下内容外未显示任何意外情况:
nginx_1 exited with code 0
admin_1 exited with code 1
为什么有角容器不干净地退出代码为0?