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
@ -215,7 +215,7 @@ $opt{dbgpattern} = '.*' if ( $opt{dbgpattern} eq '' );
# Activate debug variables # Activate debug variables
#if ( $opt{debug} ne '' ) { $opt{debug} = 2; } #if ( $opt{debug} ne '' ) { $opt{debug} = 2; }
# Activate experimental calculations and analysis # Activate experimental calculations and analysis
#if ( $opt{experimental} ne '' ) { $opt{experimental} = 1; } #if ( $opt{experimental} ne '' ) { $opt{experimental} = 1; }
# check if we need to enable verbose mode # check if we need to enable verbose mode
if ( $opt{feature} ne '' ) { $opt{verbose} = 1; } if ( $opt{feature} ne '' ) { $opt{verbose} = 1; }
@ -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);
@ -2054,27 +2056,28 @@ sub system_recommendations {
infoprint "User process except mysqld used " infoprint "User process except mysqld used "
. hr_bytes_rnd($omem) . " RAM."; . hr_bytes_rnd($omem) . " RAM.";
if ( ( 0.15 * $physical_memory ) < $omem ) { if ( ( 0.15 * $physical_memory ) < $omem ) {
if ( $opt{nondedicated}) { if ( $opt{nondedicated} ) {
infoprint "No warning with --nondedicated option"; infoprint "No warning with --nondedicated option";
infoprint infoprint
"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 "
. 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 "
. 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) . ")";
push( @generalrec, push( @generalrec,
"Consider stopping or dedicate server for additional process other than mysqld." "Consider stopping or dedicate server for additional process other than mysqld."
); );
push( @adjvars, push( @adjvars,
"DON'T APPLY SETTINGS BECAUSE THERE ARE TOO MANY PROCESSES RUNNING ON THIS SERVER. OOM KILL CAN OCCUR!" "DON'T APPLY SETTINGS BECAUSE THERE ARE TOO MANY PROCESSES RUNNING ON THIS SERVER. OOM KILL CAN OCCUR!"
); );
} }
} }
else { else {
infoprint infoprint
@ -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'}
debugprint("lreq: $lreq"); . ',1) FROM sys.x\$innodb_buffer_stats_by_table;';
$mycalc{'innodb_buffer_alloc_pct'} = select_one( $lreq ) debugprint("lreq: $lreq");
if ($opt{experimental}); $mycalc{'innodb_buffer_alloc_pct'} = select_one($lreq)
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,22 +3383,25 @@ 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";
badprint }
"Overall possible memory usage with other process exceeded memory"; else {
push( @generalrec, badprint
"Dedicate this server to your database for highest performance." ); "Overall possible memory usage with other process exceeded memory";
} push( @generalrec,
} else { "Dedicate this server to your database for highest performance."
goodprint );
"Overall possible memory usage with other process is compatible with memory available"; }
}
else {
goodprint
"Overall possible memory usage with other process is compatible with memory available";
} }
# Slow queries # Slow queries
@ -6390,24 +6398,27 @@ 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 ( $mycalc{innodb_buffer_alloc_pct} < 80 ) { if ( defined $mycalc{innodb_buffer_alloc_pct}
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: " and $mycalc{innodb_buffer_alloc_pct} ne '' )
. $mycalc{'innodb_buffer_alloc_pct'} . '%'; {
if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) {
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
}
else {
goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
}
} }
else {
goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
}
}
} }
if ( $mycalc{'innodb_log_size_pct'} < 20 if ( $mycalc{'innodb_log_size_pct'} < 20
or $mycalc{'innodb_log_size_pct'} > 30 ) or $mycalc{'innodb_log_size_pct'} > 30 )
@ -6435,7 +6446,7 @@ sub mysql_innodb {
. $myvar{'innodb_log_files_in_group'} . " / " . $myvar{'innodb_log_files_in_group'} . " / "
. hr_bytes( $myvar{'innodb_buffer_pool_size'} ) . hr_bytes( $myvar{'innodb_buffer_pool_size'} )
. " should be equal to 25%"; . " should be equal to 25%";
push( push(
@adjvars, @adjvars,
"innodb_log_file_size should be (=" "innodb_log_file_size should be (="
. hr_bytes_rnd( . hr_bytes_rnd(
@ -7228,8 +7239,8 @@ sub headerprint {
. "\t * Major Hayden <major\@mhtx.net>\n" . "\t * Major Hayden <major\@mhtx.net>\n"
. " >> Bug reports, feature requests, and downloads at http://mysqltuner.pl/\n" . " >> Bug reports, feature requests, and downloads at http://mysqltuner.pl/\n"
. " >> Run with '--help' for additional options and output filtering"; . " >> Run with '--help' for additional options and output filtering";
debugprint("Debug: ".$opt{debug}); debugprint( "Debug: " . $opt{debug} );
debugprint("Experimental: ".$opt{experimental}); debugprint( "Experimental: " . $opt{experimental} );
} }
sub string2file { sub string2file {
@ -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"
}