docker 打前端镜像时,执行 dockerfile 文件,前端 npm run build 失败时, 怎么进容器看 /root/.npm/_logs/2022-06-13T02_42_11_657Z-debug.log 日志
此时容器运行不起了,也进去不
[root@VM-4-7-centos]# docker exec -it great_rubin /bin/bash Error response from daemon: Container 9b6a76 is not running
1
dcsuibian 2022 年 6 月 13 日
不应该是宿主机上 build 好然后 COPY 进去的吗?
|
2
GiantHard 2022 年 6 月 13 日 |
5
c1273082756 2022 年 6 月 13 日
@dzdh 我也觉得是 build 好之后 copy 进去, 因为配置好.gitignore 文件就不存在污染宿主机的这种情况吧
|
6
dzdh 2022 年 6 月 13 日
@c1273082756
.gitignore 是 git commit 时才有用的吧。 我说污染宿主机的意思是,万一你用的哪个包执行了个 install --global 的命令或者 rm 啥东西 这不知道啊。 分阶段构建 from x as build run .. copy --from=build build/* ./var/www 不更好吗 |
7
c1273082756 2022 年 6 月 13 日
@dzdh 你说得有道理, 学习了, 以后 copy 进去再 build
|
8
dzdh 2022 年 6 月 13 日
|
9
dcsuibian 2022 年 6 月 13 日
@c1273082756 你这是,怕 npm 供应链投毒?
理解,但我总体上来说还是比较相信那些依赖库的。(虽然 npm 的安全事故确实挺多) 还有是开发的时候怎么办呢,npm serve/dev/start 的时候不也得在宿主机里装好依赖么? |
10
binhb 2022 年 6 月 13 日 via iPhone
docker 构建失败,我都是开一个新的交互式容器,手动执行命令
|
11
Thtdmo 2022 年 6 月 13 日
docker ps -a 可以看到一个随机名称的退出的容器就是 build 的容器可以 exec -it /bin/bash 的形式进去查看日志
|
12
Er1c0 OP @Thtdmo 进不去
docker exec -it great_rubin /bin/bash 报错 Error response from daemon: Container 9b6a76 is not running |
13
kapr1k0rn 2022 年 6 月 13 日 via iPhone
把 log 文件临时挂到 host 的目录?
|
14
freevioce 2022 年 6 月 14 日
我一般做法是找到最近临时创建层的镜像 docker images -a ,把它 run 成容器,在里面执行失败的命令
|
15
dier 2022 年 6 月 14 日
构建过程会正常打印出日志信息呀,难道你构建的时候没有任何信息输出吗
|