docker常见问题
docker常见问题no space left on device
目录
1.docker构建问题
场景描述:在准备用以下命令将springboot项目构建一个镜像放在docker容器中运行
docker build -t springboot-delivery .
问题详细:Error response from daemon: Error processing tar file(exit status 1): write /logs/all/all.log.2021-11-03: no space left on device
问题分析: 图中可以看出提示的是磁盘空间不够用了
查看docker的目录
docker info
进一步查看了对应目录的磁盘情况,发现磁盘空间确实有点小
查看inode是够用的
解决方案:更改docker目录 如果没有下面这个文件就新建一个
vim /etc/docker/daemon.json
执行下面命令重启docker服务
systemctl daemon-reload
systemctl restart docker.service
docker info 看一下发现已经改过来了
有洁癖ed人一般选择删掉就目录,反正我是这么做的
rm -rf /var/lib/docker
常见docker清理方法
docker system df 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system prune 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune -a 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,
然后重新在构建一遍镜像试试?
参考原文:docker “no space left on device”问题定位解决 - charlieroro - 博客园
参考原文2:修改 docker 默认存储路径(Docker Root Dir)_77wpa的博客-CSDN博客
2.时区问题
问题描述:容器启动后,发现日志的时间和系统当前时间对不上
问题原因:没有设定时区
解决方法:在Dockerfile 添加这两句
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
完整的Dockerfile文件参考:
FROM ascdc/jdk8
MAINTAINER huachun
EXPOSE 9527
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
COPY ./delivery-0.0.1-SNAPSHOT.jar /data
ADD delivery-0.0.1-SNAPSHOT.jar delivery-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","delivery-0.0.1-SNAPSHOT.jar"]
另一种解决方法: run 的时候加上参数
-e TZ="Asia/Shanghai"
例如:
docker run -e TZ="Asia/Shanghai" -p 9526:9527 -d --name springboot-delivery-9526 springboot-delivery
还有一种方法: 在Dockerfile中添加 ENV TZ=Asia/Shanghai
FROM ascdc/jdk8
MAINTAINER huachun
EXPOSE 9527
COPY ./delivery-0.0.1-SNAPSHOT.jar /data
ADD delivery-0.0.1-SNAPSHOT.jar delivery-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","delivery-0.0.1-SNAPSHOT.jar"]
ENV TZ=Asia/Shanghai
3.开放2375端口主机被黑
背景说明:今天上午干活干的好好的突然收到一个信息,说是主机被攻击
后来通过提工单逐步排查发现是因为我之前在部署portainer-ce时候开放了这个端口
将/usr/lib/systemd/system/docker.service中的2375端口这行注释掉 ,这个是我之前自己加的...
更多推荐
所有评论(0)