linux系统使用docker部署项目,docker默认存储路径内存爆满问题

4 篇文章 0 订阅
1 篇文章 0 订阅

linux系统docker部署项目,内存爆满问题

docker更换默认存储路径以及迁移历史镜像和容器到新的路径下

先整理下相关命令

docker相关命令
###################### docker服务启动,停止相关命令 ###################### 

1.docker守护进程重启
systemctl daemon-reload

2.docker服务启动命令
systemctl start docker

3.docker服务重启命令
systemctl restart  docker

4.docker服务关闭
systemctl stop docker

#################### docker服务使用相关命令 ####################

5.查看docker镜像
docker images

6.查看docker容器
docker ps -a

7.查看docker基本信息(版本信息,镜像/容器 dir 存储路径)
docker info

8.查看默认存储路径
docker info |grep "Docker Root Dir"

9.查看Docker的磁盘使用情况
docker system df
linux相关命令
1.linux服务器重启
reboot

2.linux服务器关机
halt

3.计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中
shutdown -h 10

4.计算机会立刻关机         
shutdown -h now

5.计算机会在这个时刻关机
shutdown -h 22:22

6.计算机会立刻重启
shutdown -r now

7.计算机会将于10分钟后重启
shutdown -r +10

8.计算机会立刻关机
shutdown -h now
第一步-查看docker默认路径命令

看默认存储路径
docker info |grep “Docker Root Dir”

查看docker默认路径的内存情况
df -h /var/lib/docker

在这里插入图片描述

第二步-停止docker服务

由于我这边docker服务会自动重启,导致无法停止docker服务,所以我这边直接重启linux服务器

停止docker服务
systemctl stop docker

重启linux服务器
reboot
第三步-拷贝之前的镜像、容器文件到新的存储目录下

docker原先默认的地址是:/var/lib/docker
我更改的新地址是:/datakuo/lib/docker

拷贝/var/lib/docker目录下的所有文件到/datakuo/lib/docker目录下
cp -a /var/lib/docker/* /datakuo/lib/docker/

cp参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

此处记录一个问题:
拷贝docker历史镜像容器文件时,一定要同时把访问权限也要复制过去,否则docker运行后,无法启动mysql的容器。
(我这边之前使用 cp -r 命令复制,文件复制过去了,但是mysql容器一直无法运行,最后看到一篇博客,说是权限问题,于是又重新复制了下,最后奇迹般的成功了,不容易啊)

第四步-更改配置文件
1.进入docker配置文件
vim /etc/docker/daemon.json

2.增加如下配置:
{
"graph":"/datakuo/lib/docker"
}

3.添加后按Esc,并输入如下命令保存并退出
:wq

4.重新加载配置
systemctl daemon-reload

5.重新启动docker
systemctl restart docker
第五步-查看docker镜像、容器是否正常
1.启动docker后,查看镜像是否缺失
docker images

2.查看容器是否缺失
docker ps -a

3.启动mysql容器、redis容器
docker start 容器id

4.查看容器日志
docker logs 容器id
第六步-查看docker默认路径是否更换为新路径,并查看内存情况
docker info |grep "Docker Root Dir"

在这里插入图片描述

如此成功后,docker迁移就完成了,【在此记录,防止忘记】

额外记录下项目连接mysql数据库无法连接问题。报错信息如下:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed

最简单的解决方法是在连接后面添加 allowPublicKeyRetrieval=true

参考链接:
https://blog.csdn.net/u013360850/article/details/80373604 ——项目无法连接mysql问题报错解决
https://www.runoob.com/linux/linux-comm-cp.html——linux命令-菜鸟教程
https://blog.csdn.net/freeking101/article/details/68939059——linux 的 ip 命令 和 ifconfig 命令
https://www.cnblogs.com/zjz20/p/14087160.html——docker修改默认存储路径,并迁移之前的镜像数据
https://www.runoob.com/docker/docker-command-manual.html——docker菜鸟教程
https://www.php.cn/linux-417358.html——linux服务器重启命令是什么
http://mtw.so/62zNim——Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
https://www.jianshu.com/p/e6c82e44d5ed——查看目录和文件大小: du -sh
https://blog.csdn.net/weixin_34238633/article/details/92512628——Linux查看服务器总内存和总硬盘大小

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值