【发布时间】:2017-09-25 13:22:54
【问题描述】:
由于过去的 docker 容器占用了空间,我最近不得不清理整个磁盘。所以我假设我可以访问被杀死的容器的日志。
例如我有一个容器的 docker 历史:
$ docker history xxx_app
IMAGE CREATED CREATED BY SIZE COMMENT
d7cfe17fc42a 56 minutes ago /bin/sh -c #(nop) EXPOSE 3000/tcp 0 B
cd26ca1108f0 56 minutes ago /bin/sh -c #(nop) COPY dir:8daa84a931569267ab 62.27 MB
6fa873fcc7bb 9 days ago /bin/sh -c npm install && npm cache clean 177.8 MB
67a23b0934d8 9 days ago /bin/sh -c #(nop) COPY file:5dcb2a83410d0aa7f 1.529 kB
3b7197885c91 3 weeks ago /bin/sh -c #(nop) ENV NODE_ENV= 0 B
79a447242ea5 3 weeks ago /bin/sh -c #(nop) ARG NODE_ENV 0 B
b1909b86ce39 3 weeks ago /bin/sh -c #(nop) CMD ["npm" "start"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ONBUILD COPY . /usr/src/ap 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ONBUILD RUN npm install && 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ONBUILD COPY package.json 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ONBUILD ENV NODE_ENV $NODE 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ONBUILD ARG NODE_ENV 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) WORKDIR /usr/src/app 0 B
...
但访问日志时出现错误:
docker logs 67a23b0934d8
Error: No such container: 67a23b0934d8
尽管如此,我的磁盘已被创建的容器映像填满,我不得不在大约一个月前按照this article 采取行动进行清理。那么,我可以访问过去的日志吗?
PS:我对docker不是很了解,接过一个项目。每次代码更新后容器重启的方式是这样的:
docker-compose -f docker-compose-production.yaml down
docker-compose -f docker-compose-production.yaml up -d --build
【问题讨论】:
-
您是否在这里混淆了图像和容器?历史记录用于图像,您尝试使用图像 id 来获取容器的日志。