From 47b2d8748741c3ddc25ee7007cc779f60634e3b9 Mon Sep 17 00:00:00 2001 From: Guillaume Astier Ruiz Date: Thu, 20 Oct 2022 17:31:15 +0200 Subject: [PATCH] [UPDATE] - diff oracle/centos --- Template/Dockerfile.gen.centos | 21 +++++++++++++++++++ ...kerfile.gen => Dockerfile.gen.oraclelinux} | 3 ++- Template/function | 8 ++++--- generate_env.sh | 4 ++-- 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 Template/Dockerfile.gen.centos rename Template/{Dockerfile.gen => Dockerfile.gen.oraclelinux} (98%) diff --git a/Template/Dockerfile.gen.centos b/Template/Dockerfile.gen.centos new file mode 100644 index 0000000..98e2356 --- /dev/null +++ b/Template/Dockerfile.gen.centos @@ -0,0 +1,21 @@ +#FROM centos:centos7 +FROM ${Cible}:${VersionCible} +LABEL maintainer='Guillaume Astier Ruiz' + +ENV os="${Cible}" +ENV osversion="${VersionCible}" +ENV ESL-TOOLS=repo +ENV TERM=xterm + +RUN ${PackageManager} update -y + +RUN ${PackageManager} install -y perl perl-Business-ISBN perl-Business-ISBN-Data perl-Carp perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-Data-Dumper perl-Data-OptList perl-Digest perl-Digest-MD5 perl-Encode perl-Encode-Locale perl-Error perl-Exporter perl-ExtUtils-Install perl-ExtUtils-MakeMaker perl-ExtUtils-Manifest perl-ExtUtils-ParseXS perl-File-Listing perl-File-Path perl-File-Temp perl-Filter perl-Font-AFM perl-Getopt-Long perl-HTML-Format perl-HTML-Parser perl-HTML-Tagset perl-HTML-Tree perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-HTTP-Tiny perl-IO-Compress perl-IO-HTML perl-IO-Socket-IP perl-IO-Socket-SSL perl-IO-stringy perl-LWP-MediaTypes perl-Module-Implementation perl-Module-Runtime perl-Mozilla-CA perl-Net-HTTP perl-Net-LibIDN perl-Net-SSLeay perl-Package-Generator perl-PadWalker perl-Params-Util perl-Params-Validate perl-PathTools perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Sub-Exporter perl-Sub-Install perl-TermReadKey perl-Test-Harness perl-Text-ParseWords perl-Thread-Queue perl-Time-HiRes perl-Time-Local perl-TimeDate perl-Tk perl-Try-Tiny perl-URI perl-WWW-RobotRules perl-XML-Catalog perl-XML-DOM perl-XML-Dumper perl-XML-Filter-BufferText perl-XML-Grove perl-XML-Handler-YAWriter perl-XML-LibXML perl-XML-LibXSLT perl-XML-NamespaceSupport perl-XML-Parser perl-XML-RegExp perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Writer perl-XML-Simple perl-XML-TokeParser perl-XML-TreeBuilder perl-XML-Twig perl-XML-Writer perl-XML-XPath perl-XML-XPathEngine perl-constant perl-devel perl-libs perl-libwww-perl perl-libxml-perl perl-macros perl-parent perl-podlators perl-srpm-macros perl-threads perl-threads-shared +RUN ${PackageManager} install -y basesystem binutils bzip2 cpp createrepo dejavu-fonts-common dejavu-sans-fonts deltarpm dwz elfutils elfutils-devel elfutils-libelf-devel fontconfig fontpackages-filesystem gcc gdb gdbm-devel genisoimage glibc-devel glibc-headers gpm-libs groff-base keyutils-libs-devel libX11 libX11-common libXau libXft libXrender libcom_err-devel libdb-devel libjpeg-turbo libmpc libselinux-devel libsepol-devel libusal libverto-devel libxcb libxml2-python lm_sensors-devel lm_sensors-libs mailcap mpfr ncurses-base net-tools openssl-devel pcre-devel popt-devel pyparsing python-deltarpm python-gobject-base python-srpm-macros redhat-rpm-config rpm-build rpm-devel rsync strace tcp_wrappers-devel tree unzip vim-common vim-enhanced vim-filesystem xz-devel zip zlib-devel nginx openssh-clients + + +RUN ${PackageManager} install -y net-snmp + +COPY ./bin/run.sh /usr/local/bin/run.sh +RUN chmod 777 /usr/local/bin/run.sh +CMD /usr/local/bin/run.sh ${GenScript} + diff --git a/Template/Dockerfile.gen b/Template/Dockerfile.gen.oraclelinux similarity index 98% rename from Template/Dockerfile.gen rename to Template/Dockerfile.gen.oraclelinux index 5d2f7de..b12c193 100644 --- a/Template/Dockerfile.gen +++ b/Template/Dockerfile.gen.oraclelinux @@ -15,11 +15,12 @@ RUN ${PackageManager} install -y basesystem binutils bzip2 cpp createrepo dejavu RUN ${PackageManager} install -y net-snmp RUN ${PackageManager} install epel-release -y -RUN ${PackageManager} install screen -y +RUN ${PackageManager} install screen repo2module -y COPY ./bin/ /usr/local/bin/ RUN chmod 777 /usr/local/bin/run.sh + RUN groupadd esl -g 1000 #RUN useradd -s /bin/bash -g 1000 -u 1000 -p "$(/usr/bin/openssl passwd -1 esl)" esl RUN useradd -s /bin/bash -g 1000 -u 1000 esl diff --git a/Template/function b/Template/function index 8346d45..2b6d061 100755 --- a/Template/function +++ b/Template/function @@ -54,9 +54,11 @@ DeleteFile() { DockerConnect() { + User=esl + [[ "$2" == "root" ]] && User='root' Inst=$(docker ps|grep "esl-$1" | awk '{print $NF}') [[ -L $(realpath $(dirname $0))/cible ]] && Cible="-v $(realpath $(dirname $0))/cible:/data/cible" - [[ -z "${Inst}" ]] && docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/log ${Cible} --hostname $1 -u esl esl\-${1}:2 bash || docker exec -ti ${Inst} bash + [[ -z "${Inst}" ]] && docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/log ${Cible} --hostname $1 -u ${User} esl\-${1}:2 bash || docker exec -ti -u $User ${Inst} bash echo DEBUG $Inst $1 } @@ -86,7 +88,7 @@ DeleteImg () { DockerGen() { DeleteImg $1 - echo -n "generate Dockerfile $1 ... : " + echo -n "generate Dockerfile $1 $Cible... : " source define.conf while read line do @@ -96,7 +98,7 @@ DockerGen() { else echo $line fi - done < Template/Dockerfile.$1 > Dockerfile + done < Template/Dockerfile.${1}.${Cible} > Dockerfile Res $? echo -n "Generate $1 Docker image ... : " diff --git a/generate_env.sh b/generate_env.sh index a0099ff..284d94c 100755 --- a/generate_env.sh +++ b/generate_env.sh @@ -21,8 +21,8 @@ Exec=$1 [[ "${Exec}" == "repo" ]] && DockerComposeRun repo [[ "${Exec}" == "stop" ]] && DockerStop [[ "${Exec}" == "gen" ]] && DockerComposeRun gen -[[ "${Exec}" == "run-gen" ]] && DockerConnect gen -[[ "${Exec}" == "run-repo" ]] && DockerConnect repo +[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2 +[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2 [[ "${Exec}" == "ps" ]] && DockerPs