小编Dmi*_*aev的帖子

Docker注册表垃圾收集

最近开始使用Docker注册表作为企业docker镜像的中心.几周之后,我发现docker注册表已经占用了所有磁盘空间:(

我们为开发人员自动部署,每次都从GIT中获取最新的master,然后创建docker镜像并将其推送到我们的注册表.图像名称和图像标记始终相同.所以我期望旧图像被docker注册表中的新图像覆盖,但实际上所有这些图层都是在.../docker/registry/v2/blobs/sha256 /文件夹中收集的.

内置垃圾收集器没有帮助:/ usr/bin/docker exec registry/bin/registry garbage-collect /etc/docker/registry/config.yml.它只是不删除未使用的层并产生smth.like:1204 blob标记,0 blob符合删除条件

我们只有1个泊坞窗图像.但它经常被推到注册表中.如何只保留最新版本的图像?

注册表版本是2.4.0

docker

9
推荐指数
2
解决办法
4622
查看次数

Nginx access_log默认刷新时间

nginx默认情况下将缓冲区刷新到access_log的频率如何?

在手册中没有信息,只是设置语法:

access_log path [format [buffer=size [flush=time]] [if=condition]];
Run Code Online (Sandbox Code Playgroud)

nginx

6
推荐指数
1
解决办法
3706
查看次数

按层sha256获取docker overlay哈希路径

每个泊坞窗映像层都与磁盘上的覆盖数据相关(如果使用“覆盖”引擎)。

即我们检查docker映像并获取其层:

docker inspect <image> | grep 'RootFS' -A5
"RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:9c2f1836d49346677f8280bf0eb89c20853f6af4aa6e2fad87b0000bb181fad2",
                "sha256:97a77835754fbd5f0883e663cd168ae6263551318d56476920ea05e500e371e6",
                "sha256:7ea85bb6d4ef6de5e5ccaf47325b770b954142666b89ab034a0dff3cb98a2808",
...
Run Code Online (Sandbox Code Playgroud)

层“ sha256:9c2f1836d49346677f8280bf0eb89c20853f6af4aa6e2fad87b0000bb181fad2”与磁盘上的数据相关,例如与“ / var / lib / docker / overlay / 0608b16c5e9a58f48cfe30ce9559b5c8676e23655719c7141root”相关联

是否可以通过图像层sha256获取此docker overlay根路径/ var / lib / docker / overlay / {hash} / root?

docker

5
推荐指数
0
解决办法
166
查看次数

如果任何命令失败,则与退出失败并行运行命令

在bash脚本中需要帮助.目标是: - 并行运行多个命令 - 如果任何命令返回非零退出状态,则退出1

使用middle命令运行有错误:

$ ./parallel_commands "echo 1" "_echo 2" "echo 3" && echo "OK"
1
3
./parallel_commands: line 4: _echo: command not found
OK <- Incorrect
Run Code Online (Sandbox Code Playgroud)

使用所有命令运行都有错误:

$ ./parallel_commands "_echo 1" "_echo 2" "_echo 3" && echo "OK"
./parallel_commands: line 4: _echo: command not found
./parallel_commands: line 4: _echo: command not found
./parallel_commands: line 4: _echo: command not found
-> Result is fail -> Correct
Run Code Online (Sandbox Code Playgroud)

Bash脚本:

#!/bin/bash

for cmd in "$@"; do {
  $cmd & pid=$! …
Run Code Online (Sandbox Code Playgroud)

parallel-processing

4
推荐指数
1
解决办法
1315
查看次数

从注册表获取最新的 Docker 镜像创建日期

如何获得存在于注册表中的 Docker 镜像的最新创建日期?最近我们遇到了一个问题,在我们的一些集群从服务器上没有自动拉取Docker镜像,并且项目运行在非常过时的容器环境中。所以我希望每天运行一次 cron 脚本来检查拉取的 Docker 镜像是否比注册 Docker 镜像早 24 小时。

docker docker-registry

3
推荐指数
1
解决办法
2788
查看次数