diff --git a/source/_posts/CSS.md b/source/_posts/CSS.md index 53639c2..d97fd08 100644 --- a/source/_posts/CSS.md +++ b/source/_posts/CSS.md @@ -1 +1,6 @@ -​ \ No newline at end of file +--- + +--- + +## CSS Text(文本) + diff --git a/source/_posts/Docker-Compose.md b/source/_posts/Docker-Compose.md index 7d75108..43000c3 100644 --- a/source/_posts/Docker-Compose.md +++ b/source/_posts/Docker-Compose.md @@ -4,6 +4,38 @@ date: 2024-04-01 11:02:56 tags: --- +# 安装 + +## Linux + +运行以下命令以下载 Docker Compose 的当前稳定版本: + +```shell +sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + + +``` + +将可执行权限应用于二进制文件: + +```shell +sudo chmod +x /usr/local/bin/docker-compose +``` + +创建软链: + +```shell +sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose +``` + +测试是否安装成功: + +```shell +docker-compose version +``` + + + # 集群搭建 ## Flink 集群 diff --git a/source/_posts/Docker.md b/source/_posts/Docker.md index 3b8a212..116c087 100644 --- a/source/_posts/Docker.md +++ b/source/_posts/Docker.md @@ -533,7 +533,85 @@ networks: external: true ``` +# Docker 磁盘占用清理 +## docker system 命令 + +它可以用于管理磁盘空间 + +**docker system df** 命令,类似于 Linux 上的 **df**命令,用于查看 Docker 的磁盘使用情况: + +```shell +docker system df +TYPE TOTAL ACTIVE SIZE RECLAIMABLE +Images 22 5 14.54GB 10.6GB (72%) +Containers 6 3 2.14GB 696.8MB (32%) +Local Volumes 53 5 6.317GB 5.935GB (93%) +Build Cache 12 0 0B 0B + +``` + +可知,Docker 镜像占用了 14.5GB 磁盘,Docker 容器占用了 2.14GB 磁盘,Docker 数据卷占用了 6.317GB 磁盘。 + +**docker system prune** 命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。docker system prune -a 命令清理得更加彻底,可以将没有容器使用 Docker 镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker镜像都删掉了 + +执行 **docker system prune -a** 命令之后,Docker 占用的磁盘空间减少了很多 + +## 手动清理 Docker 镜像/容器/数据卷 + +对于旧版的 Docker(版本 1.13 之前),是没有 docker system 命令的,因此需要进行手动清理。这里给出几个常用的命令 + +**删除所有关闭的容器** + +```shell +docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm +``` + +**删除所有 dangling 镜像(即无 tag 的镜像)** + +```shell +docker rmi $(docker images | grep "^" | awk "{print $3}") +``` + +**删除所有 dangling 数据卷(即无用的 volume)** + +```shell +docker volume rm $(docker volume ls -qf dangling=true) +``` + +## 限制容器的日志大小 + +Docker 的所有相关文件,包括镜像、容器等都保存在 **/var/lib/docker** 目录中: + +```shell +du -hs /var/lib/docker/ +29G /var/lib/docker/ +``` + +使用**du**命令继续查看,可以定位到真正占用这么多磁盘的目录 + +使用**truncate**命令,可以将 nginx 容器的日志文件“清零”: + +```shell +truncate -s 0 /var/lib/docker/containers/a376aa694b22ee497f6fc9f7d15d943de91c853284f8f105ff5ad6c7ddae7a53/*-json.log +``` + +## 重启 Docker + +当我清理了镜像、容器以及数据卷之后,发现磁盘空间并没有减少。根据[Docker disk usage](https://github.com/moby/moby/issues/12265)提到过的建议,我重启了 Docker,发现**磁盘使用率从 83%降到了 19%**。根据高手[指点](https://github.com/moby/moby/issues/12265#issuecomment-316303769),这应该是与内核 3.13 相关的 BUG,导致 Docker 无法清理一些无用目录: + +> it's quite likely that for some reason when those container shutdown, docker couldn't remove the directory because the shm device was busy. This tends to happen often on 3.13 kernel. You may want to update it to the 4.4 version supported on trusty 14.04.5 LTS. + +> The reason it disappeared after a restart, is that daemon probably tried and succeeded to clean up left over data from stopped containers. + +我查看了一下内核版本,发现真的是 3.13: + +```bash +uname -r +3.13.0-86-generic +``` + +如果你的内核版本也是 3.13,而且清理磁盘没能成功,不妨重启一下 Docker。当然,这个晚上操作比较靠谱。 # Docker 实例 diff --git a/source/_posts/Jenkins.md b/source/_posts/Jenkins.md index baf87ee..2964952 100644 --- a/source/_posts/Jenkins.md +++ b/source/_posts/Jenkins.md @@ -87,9 +87,11 @@ IIS服务器应用程序池必须为无代码托管 ```xml -![1668787835347](http://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/1668787835347.png) + ``` +![1668787835347](http://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/1668787835347.png) + 在模块中删除WebDAVModule ## Jenkins安装NodeJS环境 diff --git a/source/_posts/Linux.md b/source/_posts/Linux.md index 0c96106..dcbbe9a 100644 --- a/source/_posts/Linux.md +++ b/source/_posts/Linux.md @@ -212,7 +212,23 @@ home:文件名或目录名 find / -user fred -or -user george # 在根目录下查找用户是fred或者george的文本文件 find /tmp ! -user panda #在/tmp目录中查找所有不属于panda用户的文件 +### du 命令 +du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。 + +```shell +# 查找/root下5个最大的文件 +du -ah /root | sort -nr | head -n5 + +# 查找当前目录下最大的5个目录 +du -ah | sort -nr | head -n5 + +# 查找根目录下最大目录/文件(包括子文件夹) +du -Sh / | sort -rh | head -n10 + +# 只看大小在 GB 范围内的所有文件 +du -ah / | grep "[0-9]G\b" +``` ## 进程管理 diff --git a/source/_posts/Nginx.md b/source/_posts/Nginx.md index 74d8a2c..580cdd5 100644 --- a/source/_posts/Nginx.md +++ b/source/_posts/Nginx.md @@ -479,3 +479,11 @@ net start Nginx net stop Nginx ``` +# 命令 + +## 重新加载配置文件 + +```shell +nginx -s reload +``` + diff --git a/source/_posts/nodejs.md b/source/_posts/nodejs.md new file mode 100644 index 0000000..4589b23 --- /dev/null +++ b/source/_posts/nodejs.md @@ -0,0 +1,60 @@ +--- +title: nodejs +date: 2024-08-01 09:34:32 +tags: +--- + +# nvm + +## nvm介绍 + +nvm 一个nodejs版本管理工具! + + + +nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的nodejs。 + +nvm能干嘛? + +简单的命令下载长期稳定支持版本的Nodejs + +简单的命令实现 Node.js 的多个版本之间轻松切换 + +## nvm命令 + +### 版本 + +```shell +nvm -v +``` + +### 查看可以nodejs的稳定版本 + +```shell +nvm list available +``` + +### 下载指定node版本 + +```shell +nvm install 18.20.4 +``` + +### 查看已安装nodejs版本 + +```shell +nvm list +``` + +### 切换当前使用版本 + +```shell +nvm ust 18.20.4 +``` + +### 卸载nodejs版本 + +```shell +nvm uninstall 18.20.4 +``` +