Merge pull request #788 from jmrenouard/master

MErge back
This commit is contained in:
Jean-Marie Renouard 2024-07-15 23:24:46 +02:00 committed by GitHub
commit 56b7415198
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 473 additions and 61 deletions

7
.dockerignore Normal file
View file

@ -0,0 +1,7 @@
*.md
*.md
build/**
Makefile
.perltidy
*.json
*.png

1
.gitignore vendored
View file

@ -19,3 +19,4 @@ sql/*.sql
sql/*.csv sql/*.csv
cve.csv cve.csv
default*.cnf default*.cnf
.env

1
CURRENT_VERSION.txt Normal file
View file

@ -0,0 +1 @@

View file

@ -16,7 +16,7 @@ RUN apt-get update && apt upgrade -y && apt-get install -yq --no-install-recomme
&& apt-get clean \ && apt-get clean \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir -p /results && mkdir -p /results
RUN apt clean all
WORKDIR / WORKDIR /
COPY ./mysqltuner.pl /mysqltuner.pl COPY ./mysqltuner.pl /mysqltuner.pl
COPY ./vulnerabilities.csv /vulnerabilities.txt COPY ./vulnerabilities.csv /vulnerabilities.txt

View file

@ -20,8 +20,9 @@ help:
installdep_debian: installdep_debian:
apt install -y cpanminus libpod-markdown-perl libwww-mechanize-gzip-perl perltidy dos2unix sudo apt install -y cpanminus libpod-markdown-perl libwww-mechanize-gzip-perl perltidy dos2unix
cpanm File::Util sudo cpanm File::Util
curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -
tidy: tidy:
dos2unix ./mysqltuner.pl dos2unix ./mysqltuner.pl
@ -72,7 +73,15 @@ increment_major_version:
git push --tags git push --tags
docker_build: docker_build:
docker build . docker build . -t jmrenouard/mysqltuner:latest -t jmrenouard/mysqltuner:$(VERSION)
docker_slim:
docker run --rm -it --privileged -v /var/run/docker.sock:/var/run/docker.sock -v $(PWD):/root/app -w /root/app jmrenouard/mysqltuner:latest slim build
docker_push: docker_build
bash build/publishtodockerhub.sh $(VERSION)
push: push:
git push git push

View file

@ -1,6 +1,6 @@
# NAME # NAME
MySQLTuner 2.5.3 - MySQL High Performance Tuning Script MySQLTuner 2.5.4 - MySQL High Performance Tuning Script
# IMPORTANT USAGE GUIDELINES # IMPORTANT USAGE GUIDELINES

View file

@ -0,0 +1,11 @@
#!/bin/bash
[ -f "./.env" ] && source ./.env
[ -f "../.env" ] && source ../.env
VERSION=$1
docker login -u $DOCKER_USER_LOGIN -p $DOCKER_USER_PASSWORD
docker tag jmrenouard/mysqltuner:latest jmrenouard/mysqltuner:$VERSION
docker push jmrenouard/mysqltuner:latest
docker push jmrenouard/mysqltuner:$VERSION

View file

@ -1,5 +1,5 @@
#!/usr/bin/env perl #!/usr/bin/env perl
# mysqltuner.pl - Version 2.5.3 # mysqltuner.pl - Version 2.5.4
# High Performance MySQL Tuning Script # High Performance MySQL Tuning Script
# Copyright (C) 2015-2023 Jean-Marie Renouard - jmrenouard@gmail.com # Copyright (C) 2015-2023 Jean-Marie Renouard - jmrenouard@gmail.com
# Copyright (C) 2006-2023 Major Hayden - major@mhtx.net # Copyright (C) 2006-2023 Major Hayden - major@mhtx.net
@ -57,7 +57,7 @@ use Cwd 'abs_path';
#use Env; #use Env;
# Set up a few variables for use in the script # Set up a few variables for use in the script
my $tunerversion = "2.5.3"; my $tunerversion = "2.5.4";
my ( @adjvars, @generalrec ); my ( @adjvars, @generalrec );
# Set defaults # Set defaults
@ -595,6 +595,8 @@ sub os_setup {
chomp($physical_memory); chomp($physical_memory);
chomp($swap_memory); chomp($swap_memory);
chomp($os); chomp($os);
$physical_memory = $opt{forcemem}
if ( defined( $opt{forcemem} ) and $opt{forcemem} gt 0 );
$result{'OS'}{'OS Type'} = $os; $result{'OS'}{'OS Type'} = $os;
$result{'OS'}{'Physical Memory'}{'bytes'} = $physical_memory; $result{'OS'}{'Physical Memory'}{'bytes'} = $physical_memory;
$result{'OS'}{'Physical Memory'}{'pretty'} = hr_bytes($physical_memory); $result{'OS'}{'Physical Memory'}{'pretty'} = hr_bytes($physical_memory);
@ -2061,7 +2063,8 @@ sub system_recommendations {
. percentage( $omem, $physical_memory ) . "% (" . percentage( $omem, $physical_memory ) . "% ("
. hr_bytes_rnd($omem) . " / " . hr_bytes_rnd($omem) . " / "
. hr_bytes_rnd($physical_memory) . ")"; . hr_bytes_rnd($physical_memory) . ")";
} else { }
else {
badprint badprint
"Other user process except mysqld used more than 15% of total physical memory " "Other user process except mysqld used more than 15% of total physical memory "
@ -2548,7 +2551,7 @@ sub check_architecture {
} }
elsif ( `uname` =~ /Darwin/ && `uname -m` =~ /x86_64/ ) { elsif ( `uname` =~ /Darwin/ && `uname -m` =~ /x86_64/ ) {
# Darwin gibas.local 12.5.3 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64 # Darwin gibas.local 12.5.4 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
$arch = 64; $arch = 64;
goodprint "Operating on 64-bit architecture"; goodprint "Operating on 64-bit architecture";
} }
@ -3233,12 +3236,14 @@ sub calculations {
$mystat{'Innodb_buffer_pool_pages_total'} $mystat{'Innodb_buffer_pool_pages_total'}
) if defined $mystat{'Innodb_buffer_pool_pages_total'}; ) if defined $mystat{'Innodb_buffer_pool_pages_total'};
my $lreq= "select ROUND( 100* sum(allocated)/ ". my $lreq =
$myvar{'innodb_buffer_pool_size'} . "select ROUND( 100* sum(allocated)/ "
',1) FROM sys.x\$innodb_buffer_stats_by_table;'; . $myvar{'innodb_buffer_pool_size'}
. ',1) FROM sys.x\$innodb_buffer_stats_by_table;';
debugprint("lreq: $lreq"); debugprint("lreq: $lreq");
$mycalc{'innodb_buffer_alloc_pct'} = select_one($lreq) $mycalc{'innodb_buffer_alloc_pct'} = select_one($lreq)
if ( $opt{experimental} ); if ( $opt{experimental} );
# Binlog Cache # Binlog Cache
if ( $myvar{'log_bin'} ne 'OFF' ) { if ( $myvar{'log_bin'} ne 'OFF' ) {
$mycalc{'pct_binlog_cache'} = percentage( $mycalc{'pct_binlog_cache'} = percentage(
@ -3378,20 +3383,23 @@ sub mysql_stats {
. " ($mycalc{'pct_max_physical_memory'}% of installed RAM)"; . " ($mycalc{'pct_max_physical_memory'}% of installed RAM)";
} }
if ( $physical_memory < if ( $physical_memory <
( $mycalc{'max_peak_memory'} + get_other_process_memory() ) ) ( $mycalc{'max_peak_memory'} + get_other_process_memory() ) )
{ {
if ( $opt{nondedicated} ) { if ( $opt{nondedicated} ) {
infoprint "No warning with --nondedicated option"; infoprint "No warning with --nondedicated option";
infoprint "Overall possible memory usage with other process exceeded memory"; infoprint
} else { "Overall possible memory usage with other process exceeded memory";
}
else {
badprint badprint
"Overall possible memory usage with other process exceeded memory"; "Overall possible memory usage with other process exceeded memory";
push( @generalrec, push( @generalrec,
"Dedicate this server to your database for highest performance." ); "Dedicate this server to your database for highest performance."
);
} }
} else { }
else {
goodprint goodprint
"Overall possible memory usage with other process is compatible with memory available"; "Overall possible memory usage with other process is compatible with memory available";
} }
@ -6390,15 +6398,18 @@ sub mysql_innodb {
} }
# select round( 100* sum(allocated)/( select VARIABLE_VALUE # select round( 100* sum(allocated)/( select VARIABLE_VALUE
# FROM performance_schema.global_variables # FROM information_schema.global_variables
# where VARIABLE_NAME='innodb_buffer_pool_size' ) # where VARIABLE_NAME='innodb_buffer_pool_size' )
# ,2) as "PCT ALLOC/BUFFER POOL" # ,2) as "PCT ALLOC/BUFFER POOL"
#from sys.x$innodb_buffer_stats_by_table; #from sys.x$innodb_buffer_stats_by_table;
if ( $opt{experimental} ) { if ( $opt{experimental} ) {
debugprint ('innodb_buffer_alloc_pct: "'.$mycalc{innodb_buffer_alloc_pct}.'"'); debugprint( 'innodb_buffer_alloc_pct: "'
if (defined $mycalc{innodb_buffer_alloc_pct} and . $mycalc{innodb_buffer_alloc_pct}
$mycalc{innodb_buffer_alloc_pct} ne '' ) { . '"' );
if ( defined $mycalc{innodb_buffer_alloc_pct}
and $mycalc{innodb_buffer_alloc_pct} ne '' )
{
if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) { if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) {
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: " badprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
. $mycalc{'innodb_buffer_alloc_pct'} . '%'; . $mycalc{'innodb_buffer_alloc_pct'} . '%';
@ -7431,7 +7442,7 @@ __END__
=head1 NAME =head1 NAME
MySQLTuner 2.5.3 - MySQL High Performance Tuning Script MySQLTuner 2.5.4 - MySQL High Performance Tuning Script
=head1 IMPORTANT USAGE GUIDELINES =head1 IMPORTANT USAGE GUIDELINES

372
slim.report.json Normal file
View file

@ -0,0 +1,372 @@
{
"version": "1.1",
"engine": "linux/amd64|Transformer|1.40.11|1b271555882eacdfb4e6598d6d0552e9b9b1449b|2024-02-02_01:36:22PM",
"containerized": false,
"host_distro": {
"name": "Ubuntu",
"version": "24.04",
"display_name": "Ubuntu 24.04 LTS"
},
"type": "build",
"state": "done",
"target_reference": "jmrenouard/mysqltuner:latest",
"system": {
"type": "Linux",
"release": "5.15.153.1-microsoft-standard-WSL2",
"distro": {
"name": "Ubuntu",
"version": "24.04",
"display_name": "Ubuntu 24.04 LTS"
}
},
"source_image": {
"identity": {
"id": "sha256:de54a9bc71612ce378cafe4d719064ae17578f7a5c202f08c2340cb4a5bd8fa9",
"tags": [
"2.5.4",
"latest"
],
"names": [
"jmrenouard/mysqltuner:2.5.4",
"jmrenouard/mysqltuner:latest"
]
},
"size": 210101762,
"size_human": "210 MB",
"create_time": "2024-07-15T20:57:18Z",
"docker_version": "",
"architecture": "amd64",
"os": "linux",
"labels": {
"maintainer": "jmrenouard@gmail.com",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04"
},
"env_vars": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"DEBIAN_FRONTEND=noninteractive"
],
"container_entry": {
"exe_path": ""
}
},
"minified_image_size": 37270902,
"minified_image_size_human": "37 MB",
"minified_image": "jmrenouard/mysqltuner.slim",
"minified_image_id": "sha256:cc97d204ab37932775e72b3d45523bac97c6a58f3fea9130c3e5a478655be815",
"minified_image_digest": "sha256:025d34ffb0fa21690d6852e2d2d72ca6bf7892400a141dc1c750aa5b82ffc0a5",
"minified_image_has_data": true,
"minified_by": 5.637152596950833,
"artifact_location": "/tmp/slim-state/.slim-state/images/de54a9bc71612ce378cafe4d719064ae17578f7a5c202f08c2340cb4a5bd8fa9/artifacts",
"container_report_name": "creport.json",
"seccomp_profile_name": "jmrenouard-mysqltuner-seccomp.json",
"apparmor_profile_name": "jmrenouard-mysqltuner-apparmor-profile",
"image_stack": [
{
"is_top_image": true,
"id": "sha256:de54a9bc71612ce378cafe4d719064ae17578f7a5c202f08c2340cb4a5bd8fa9",
"full_name": "jmrenouard/mysqltuner:2.5.4",
"repo_name": "jmrenouard/mysqltuner",
"version_tag": "2.5.4",
"raw_tags": [
"jmrenouard/mysqltuner:2.5.4",
"jmrenouard/mysqltuner:latest"
],
"create_time": "2024-07-15T20:57:18Z",
"new_size": 210101762,
"new_size_human": "210 MB",
"instructions": [
{
"type": "ARG",
"time": "2024-06-07T12:00:06Z",
"is_nop": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "RELEASE",
"command_snippet": "ARG RELEASE",
"command_all": "ARG RELEASE",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "ARG",
"time": "2024-06-07T12:00:06Z",
"is_nop": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "LAUNCHPAD_BUILD_ARCH",
"command_snippet": "ARG LAUNCHPAD_BUILD_ARCH",
"command_all": "ARG LAUNCHPAD_BUILD_ARCH",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "LABEL",
"time": "2024-06-07T12:00:06Z",
"is_nop": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "org.opencontainers.image.ref.name=ubuntu",
"command_snippet": "LABEL org.opencontainers.image.ref.name=ubun...",
"command_all": "LABEL org.opencontainers.image.ref.name=ubuntu",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "LABEL",
"time": "2024-06-07T12:00:06Z",
"is_nop": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "org.opencontainers.image.version=24.04",
"command_snippet": "LABEL org.opencontainers.image.version=24.04",
"command_all": "LABEL org.opencontainers.image.version=24.04",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "ADD",
"time": "2024-06-07T12:00:08Z",
"is_nop": true,
"local_image_exists": false,
"layer_index": 0,
"size": 78050118,
"size_human": "78 MB",
"params": "file:5601f441718b0d192d73394b35fd07675342837ec9089ddd52dd1dc0de79630e in /",
"command_snippet": "ADD file:5601f441718b0d192d73394b35fd0767534...",
"command_all": "ADD file:5601f441718b0d192d73394b35fd07675342837ec9089ddd52dd1dc0de79630e /",
"target": "/",
"source_type": "file",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "CMD",
"time": "2024-06-07T12:00:09Z",
"is_nop": true,
"is_exec_form": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "[\"/bin/bash\"]\n",
"command_snippet": "CMD [\"/bin/bash\"]\n",
"command_all": "CMD [\"/bin/bash\"]\n",
"inst_set_time_bucket": "2024-06-07T14:00:00+02:00",
"inst_set_time_index": 0,
"inst_set_time_reverse_index": 2
},
{
"type": "LABEL",
"time": "2024-07-15T20:30:50Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "maintainer=jmrenouard@gmail.com",
"command_snippet": "LABEL maintainer=jmrenouard@gmail.com",
"command_all": "LABEL maintainer=jmrenouard@gmail.com",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:30:00+02:00",
"inst_set_time_index": 1,
"inst_set_time_reverse_index": 1
},
{
"type": "ENV",
"time": "2024-07-15T20:30:50Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "DEBIAN_FRONTEND=noninteractive",
"command_snippet": "ENV DEBIAN_FRONTEND=noninteractive",
"command_all": "ENV DEBIAN_FRONTEND=noninteractive",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:30:00+02:00",
"inst_set_time_index": 1,
"inst_set_time_reverse_index": 1
},
{
"type": "RUN",
"time": "2024-07-15T20:30:50Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 129424033,
"size_human": "129 MB",
"command_snippet": "RUN apt-get update && \\\n\tapt upgrade -y && \\...",
"command_all": "RUN apt-get update && \\\n\tapt upgrade -y && \\\n\tapt-get install -yq --no-install-recommends apt-utils curl wget perl perl-doc mysql-client libjson-perl libtext-template-perl && \\\n\tapt-get clean && \\\n\trm -rf /var/lib/apt/lists/* && \\\n\tmkdir -p /results",
"system_commands": [
"apt-get update",
"apt upgrade -y",
"apt-get install -yq --no-install-recommends apt-utils curl wget perl perl-doc mysql-client libjson-perl libtext-template-perl",
"apt-get clean",
"rm -rf /var/lib/apt/lists/*",
"mkdir -p /results"
],
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:30:00+02:00",
"inst_set_time_index": 1,
"inst_set_time_reverse_index": 1
},
{
"type": "RUN",
"time": "2024-07-15T20:57:17Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"command_snippet": "RUN apt clean all",
"command_all": "RUN apt clean all",
"system_commands": [
"apt clean all"
],
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "WORKDIR",
"time": "2024-07-15T20:57:17Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "/",
"command_snippet": "WORKDIR /",
"command_all": "WORKDIR /",
"system_commands": [
"mkdir -p /"
],
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "COPY",
"time": "2024-07-15T20:57:17Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 264380,
"size_human": "264 kB",
"params": "./mysqltuner.pl /mysqltuner.pl",
"command_snippet": "COPY ./mysqltuner.pl /mysqltuner.pl",
"command_all": "COPY ./mysqltuner.pl /mysqltuner.pl",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "COPY",
"time": "2024-07-15T20:57:18Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 2355059,
"size_human": "2.4 MB",
"params": "./vulnerabilities.csv /vulnerabilities.txt",
"command_snippet": "COPY ./vulnerabilities.csv /vulnerabilities....",
"command_all": "COPY ./vulnerabilities.csv /vulnerabilities.txt",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "COPY",
"time": "2024-07-15T20:57:18Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 3988,
"size_human": "4.0 kB",
"params": "./basic_passwords.txt /basic_passwords.txt",
"command_snippet": "COPY ./basic_passwords.txt /basic_passwords....",
"command_all": "COPY ./basic_passwords.txt /basic_passwords.txt",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "COPY",
"time": "2024-07-15T20:57:18Z",
"is_nop": false,
"local_image_exists": false,
"layer_index": 0,
"size": 4184,
"size_human": "4.2 kB",
"params": "./template_example.tpl /template.tpl",
"command_snippet": "COPY ./template_example.tpl /template.tpl",
"command_all": "COPY ./template_example.tpl /template.tpl",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "ENTRYPOINT",
"time": "2024-07-15T20:57:18Z",
"is_nop": false,
"is_exec_form": true,
"local_image_exists": false,
"layer_index": 0,
"size": 0,
"params": "[\"perl\",\"/mysqltuner.pl\",\"--passwordfile\",\"/basic_passwords.txt\",\"--cvefile\",\"/vulnerabilities.txt\",\"--nosysstat\",\"--defaults-file\",\"/defaults.cnf\",\"--dumpdir\",\"/results\",\"--outputfile\",\"/results/mysqltuner.txt\",\"--template\",\"/template.tpl\",\"--reportfile\",\"/results/mysqltuner.html\"]\n",
"command_snippet": "ENTRYPOINT [\"perl\",\"/mysqltuner.pl\",\"--passw...",
"command_all": "ENTRYPOINT [\"perl\",\"/mysqltuner.pl\",\"--passwordfile\",\"/basic_passwords.txt\",\"--cvefile\",\"/vulnerabilities.txt\",\"--nosysstat\",\"--defaults-file\",\"/defaults.cnf\",\"--dumpdir\",\"/results\",\"--outputfile\",\"/results/mysqltuner.txt\",\"--template\",\"/template.tpl\",\"--reportfile\",\"/results/mysqltuner.html\"]\n",
"comment": "buildkit.dockerfile.v0",
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
},
{
"type": "CMD",
"time": "2024-07-15T20:57:18Z",
"is_last_instruction": true,
"is_nop": false,
"is_exec_form": true,
"local_image_exists": true,
"layer_index": 0,
"size": 0,
"params": "[\"--verbose\"]\n",
"command_snippet": "CMD [\"--verbose\"]\n",
"command_all": "CMD [\"--verbose\"]\n",
"comment": "buildkit.dockerfile.v0",
"raw_tags": [
"jmrenouard/mysqltuner:2.5.4",
"jmrenouard/mysqltuner:latest"
],
"is_buildkit_instruction": true,
"inst_set_time_bucket": "2024-07-15T22:45:00+02:00",
"inst_set_time_index": 2,
"inst_set_time_reverse_index": 0
}
]
}
],
"image_created": true,
"image_build_engine": "internal"
}