UNCLASSIFIED

You need to sign in or sign up before continuing.
Commit 21601f4d authored by sean.melissari's avatar sean.melissari
Browse files

initial commit

parent 66a8f5e6
Pipeline #26428 failed with stage
ARG BASE_REGISTRY=nexus-docker-secure.levelup-dev.io
ARG BASE_IMAGE=ubi8
ARG BASE_TAG=8.2
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} as build
COPY rabbitmq.tar.xz /
RUN dnf install -y xz && \
mkdir -p /opt/rabbitmq && \
tar -xf /rabbitmq.tar.xz -C /opt/rabbitmq --strip-components=1
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
LABEL org.opencontainers.image.title="rabbitmq" \
org.opencontainers.image.description="RabbitMQ is a feature rich, multi-protocol messaging broker." \
org.opencontainers.image.licenses="MPL-1.1" \
org.opencontainers.image.url="https://www.rabbitmq.com" \
org.opencontainers.image.version="3.8.5" \
maintainer="cht@dsop.io"
ENV LANG=C.UTF-8 \
LANGUAGE=C.UTF-8 \
LC_ALL=C.UTF-8 \
RABBITMQ_DATA_DIR=/var/lib/rabbitmq \
RABBITMQ_HOME=/opt/rabbitmq \
RABBITMQ_LOGS=-
ENV HOME=${RABBITMQ_DATA_DIR} \
PATH=${RABBITMQ_HOME}/sbin:${PATH}
COPY --from=build /opt/rabbitmq /opt/rabbitmq
COPY erlang.rpm /
COPY scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN groupadd -g 1000 rabbitmq && \
useradd -r -u 1000 -m -d ${HOME} -s /sbin/nologin -g rabbitmq rabbitmq && \
mkdir -p /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl && \
chown rabbitmq:0 -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl && \
chmod g=u -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl && \
ln -s ${RABBITMQ_DATA_DIR} ${RABBITMQ_HOME}/var && \
ln -s ${RABBITMQ_HOME}/plugins /plugins && \
dnf upgrade -y && \
dnf install -y hostname /erlang.rpm && \
rm -f /erlang.rpm && \
dnf clean all && \
rm -rf /var/cache/dnf
WORKDIR ${RABBITMQ_HOME}
USER rabbitmq
EXPOSE 4369 5671 5672 25672
HEALTHCHECK --start-period=10s \
CMD rabbitmq-diagnostics -q ping
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["rabbitmq-server"]
@Library('DCCSCR@master') _
dccscrPipeline(version: "v3.8.5")
This diff is collapsed.
# rabbitmq38 # RabbitMQ
RabbitMQ is the most widely deployed open source message broker.
With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile to Runtastic, RabbitMQ is used worldwide at small startups and large enterprises.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
## Documentation
To learn more about RabbitMQ [go to the complete documentation](https://www.rabbitmq.com/documentation.html).
## Deployment
Refer to the official Docker [image](https://hub.docker.com/_/rabbitmq) for deployment instructions.
resources:
- url: "https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-generic-unix-latest-toolchain-3.8.5.tar.xz"
filename: rabbitmq.tar.xz
validation:
type: sha256
value: "a186b776c214da4cd8afb0a2d4338845bf4037928a4a9d46e83b74b7f24ec2ea"
- url: "https://github.com/rabbitmq/erlang-rpm/releases/download/v23.0.2/erlang-23.0.2-1.el8.x86_64.rpm"
filename: erlang.rpm
validation:
type: sha256
value: "b13a4ddc3cf25abafbf749d1b31d1584682ee1d2b8dd3e274c31df153572036b"
{
"assignees": ["@sean.melissari"],
"baseBranches": ["development"],
"packageRules": [
{
"datasources": ["github-releases"],
"packageNames": ["rabbitmq/rabbitmq-server"],
"separateMinorPatch": true,
"minor": {
"enabled": false
}
}
],
"regexManagers": [
{
"fileMatch": ["^Dockerfile$"],
"matchStrings": [
"version=\"(?<currentValue>.*?)\""
],
"depNameTemplate": "rabbitmq/rabbitmq-server",
"datasourceTemplate": "github-releases"
},
{
"fileMatch": ["^Jenkinsfile$"],
"matchStrings": [
"version:\\s+\"(?<currentValue>.*?)\""
],
"depNameTemplate": "rabbitmq/rabbitmq-server",
"datasourceTemplate": "github-releases"
}
]
}
#!/bin/bash
set -eu
# usage: file_env VAR [DEFAULT]
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
file_env() {
local var="$1"
local fileVar="${var}_FILE"
local def="${2:-}"
if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${!var:-}" ]; then
val="${!var}"
elif [ "${!fileVar:-}" ]; then
val="$(< "${!fileVar}")"
fi
export "$var"="$val"
unset "$fileVar"
}
# backwards compatibility for old environment variables
: "${RABBITMQ_SSL_CERTFILE:=${RABBITMQ_SSL_CERT_FILE:-}}"
: "${RABBITMQ_SSL_KEYFILE:=${RABBITMQ_SSL_KEY_FILE:-}}"
: "${RABBITMQ_SSL_CACERTFILE:=${RABBITMQ_SSL_CA_FILE:-}}"
# "management" SSL config should default to using the same certs
: "${RABBITMQ_MANAGEMENT_SSL_CACERTFILE:=$RABBITMQ_SSL_CACERTFILE}"
: "${RABBITMQ_MANAGEMENT_SSL_CERTFILE:=$RABBITMQ_SSL_CERTFILE}"
: "${RABBITMQ_MANAGEMENT_SSL_KEYFILE:=$RABBITMQ_SSL_KEYFILE}"
# Allowed env vars that will be read from mounted files (i.e. Docker Secrets):
fileEnvKeys=(
default_user
default_pass
)
# https://www.rabbitmq.com/configure.html
sslConfigKeys=(
cacertfile
certfile
depth
fail_if_no_peer_cert
keyfile
verify
)
managementConfigKeys=(
"${sslConfigKeys[@]/#/ssl_}"
)
rabbitConfigKeys=(
default_pass
default_user
default_vhost
vm_memory_high_watermark
)
fileConfigKeys=(
management_ssl_cacertfile
management_ssl_certfile
management_ssl_keyfile
ssl_cacertfile
ssl_certfile
ssl_keyfile
)
allConfigKeys=(
"${managementConfigKeys[@]/#/management_}"
"${rabbitConfigKeys[@]}"
"${sslConfigKeys[@]/#/ssl_}"
)
declare -A configDefaults=(
[management_ssl_fail_if_no_peer_cert]='false'
[management_ssl_verify]='verify_none'
[ssl_fail_if_no_peer_cert]='true'
[ssl_verify]='verify_peer'
)
# allow the container to be started with `--user`
if [[ "$1" == rabbitmq* ]] && [ "$(id -u)" = '0' ]; then
# this needs to happen late enough that we have the SSL config
# https://github.com/docker-library/rabbitmq/issues/283
for conf in "${allConfigKeys[@]}"; do
var="RABBITMQ_${conf^^}"
val="${!var:-}"
[ -n "$val" ] || continue
case "$conf" in
*_ssl_*file | ssl_*file )
if [ -f "$val" ] && ! gosu rabbitmq test -r "$val"; then
newFile="/tmp/rabbitmq-ssl/$conf.pem"
echo >&2
echo >&2 "WARNING: '$val' ($var) is not readable by rabbitmq ($(id rabbitmq)); copying to '$newFile'"
echo >&2
cat "$val" > "$newFile"
chown rabbitmq "$newFile"
chmod 0400 "$newFile"
eval 'export '$var'="$newFile"'
fi
;;
esac
done
if [ "$1" = 'rabbitmq-server' ]; then
find /var/lib/rabbitmq \! -user rabbitmq -exec chown rabbitmq '{}' +
fi
exec gosu rabbitmq "$BASH_SOURCE" "$@"
fi
haveConfig=
haveSslConfig=
haveManagementSslConfig=
for fileEnvKey in "${fileEnvKeys[@]}"; do file_env "RABBITMQ_${fileEnvKey^^}"; done
for conf in "${allConfigKeys[@]}"; do
var="RABBITMQ_${conf^^}"
val="${!var:-}"
if [ "$val" ]; then
if [ "${configDefaults[$conf]:-}" ] && [ "${configDefaults[$conf]}" = "$val" ]; then
# if the value set is the same as the default, treat it as if it isn't set
continue
fi
haveConfig=1
case "$conf" in
ssl_*) haveSslConfig=1 ;;
management_ssl_*) haveManagementSslConfig=1 ;;
esac
fi
done
if [ "$haveSslConfig" ]; then
missing=()
for sslConf in cacertfile certfile keyfile; do
var="RABBITMQ_SSL_${sslConf^^}"
val="${!var}"
if [ -z "$val" ]; then
missing+=( "$var" )
fi
done
if [ "${#missing[@]}" -gt 0 ]; then
{
echo
echo 'error: SSL requested, but missing required configuration'
for miss in "${missing[@]}"; do
echo " - $miss"
done
echo
} >&2
exit 1
fi
fi
missingFiles=()
for conf in "${fileConfigKeys[@]}"; do
var="RABBITMQ_${conf^^}"
val="${!var}"
if [ "$val" ] && [ ! -f "$val" ]; then
missingFiles+=( "$val ($var)" )
fi
done
if [ "${#missingFiles[@]}" -gt 0 ]; then
{
echo
echo 'error: files specified, but missing'
for miss in "${missingFiles[@]}"; do
echo " - $miss"
done
echo
} >&2
exit 1
fi
# set defaults for missing values (but only after we're done with all our checking so we don't throw any of that off)
for conf in "${!configDefaults[@]}"; do
default="${configDefaults[$conf]}"
var="RABBITMQ_${conf^^}"
[ -z "${!var:-}" ] || continue
eval "export $var=\"\$default\""
done
# if long and short hostnames are not the same, use long hostnames
if [ "$(hostname)" != "$(hostname -s)" ]; then
: "${RABBITMQ_USE_LONGNAME:=true}"
fi
if [ "${RABBITMQ_ERLANG_COOKIE:-}" ]; then
cookieFile='/var/lib/rabbitmq/.erlang.cookie'
if [ -e "$cookieFile" ]; then
if [ "$(cat "$cookieFile" 2>/dev/null)" != "$RABBITMQ_ERLANG_COOKIE" ]; then
echo >&2
echo >&2 "warning: $cookieFile contents do not match RABBITMQ_ERLANG_COOKIE"
echo >&2
fi
else
echo "$RABBITMQ_ERLANG_COOKIE" > "$cookieFile"
fi
chmod 600 "$cookieFile"
fi
configBase="${RABBITMQ_CONFIG_FILE:-/etc/rabbitmq/rabbitmq}"
oldConfigFile="$configBase.config"
newConfigFile="$configBase.conf"
shouldWriteConfig="$haveConfig"
if [ -n "$shouldWriteConfig" ] && ! touch "$newConfigFile"; then
# config file exists but it isn't writeable (likely read-only mount, such as Kubernetes configMap)
export RABBITMQ_CONFIG_FILE='/tmp/rabbitmq.conf'
cp "$newConfigFile" "$RABBITMQ_CONFIG_FILE"
echo >&2
echo >&2 "WARNING: '$newConfigFile' is not writable, but environment variables have been provided which request that we write to it"
echo >&2 " We have copied it to '$RABBITMQ_CONFIG_FILE' so it can be amended to work around the problem, but it is recommended that the read-only source file should be modified and the environment variables removed instead."
echo >&2
newConfigFile="$RABBITMQ_CONFIG_FILE"
fi
if [ -n "$shouldWriteConfig" ] && [ -f "$oldConfigFile" ]; then
{
echo "error: Docker configuration environment variables specified, but old-style (Erlang syntax) configuration file '$oldConfigFile' exists"
echo " Suggested fixes: (choose one)"
echo " - remove '$oldConfigFile'"
echo " - remove any Docker-specific 'RABBITMQ_...' environment variables"
echo " - convert '$oldConfigFile' to the newer sysctl format ('$newConfigFile'); see https://www.rabbitmq.com/configure.html#config-file"
} >&2
exit 1
fi
if [ -z "$shouldWriteConfig" ] && [ ! -f "$oldConfigFile" ] && [ ! -f "$newConfigFile" ]; then
# no config files, we should write one
shouldWriteConfig=1
fi
# http://stackoverflow.com/a/2705678/433558
sed_escape_lhs() {
echo "$@" | sed -e 's/[]\/$*.^|[]/\\&/g'
}
sed_escape_rhs() {
echo "$@" | sed -e 's/[\/&]/\\&/g'
}
rabbit_set_config() {
local key="$1"; shift
local val="$1"; shift
[ -e "$newConfigFile" ] || touch "$newConfigFile"
local sedKey="$(sed_escape_lhs "$key")"
local sedVal="$(sed_escape_rhs "$val")"
sed -ri \
"s/^[[:space:]]*(${sedKey}[[:space:]]*=[[:space:]]*)\S.*\$/\1${sedVal}/" \
"$newConfigFile"
if ! grep -qE "^${sedKey}[[:space:]]*=" "$newConfigFile"; then
echo "$key = $val" >> "$newConfigFile"
fi
}
rabbit_comment_config() {
local key="$1"; shift
[ -e "$newConfigFile" ] || touch "$newConfigFile"
local sedKey="$(sed_escape_lhs "$key")"
sed -ri \
"s/^[[:space:]]*#?[[:space:]]*(${sedKey}[[:space:]]*=[[:space:]]*\S.*)\$/# \1/" \
"$newConfigFile"
}
rabbit_env_config() {
local prefix="$1"; shift
local conf
for conf; do
local var="rabbitmq${prefix:+_$prefix}_$conf"
var="${var^^}"
local key="$conf"
case "$prefix" in
ssl) key="ssl_options.$key" ;;
management_ssl) key="management.ssl.$key" ;;
esac
local val="${!var:-}"
local rawVal="$val"
case "$conf" in
fail_if_no_peer_cert)
case "${val,,}" in
false|no|0|'') rawVal='false' ;;
true|yes|1|*) rawVal='true' ;;
esac
;;
vm_memory_high_watermark) continue ;; # handled separately
esac
if [ -n "$rawVal" ]; then
rabbit_set_config "$key" "$rawVal"
else
rabbit_comment_config "$key"
fi
done
}
if [ "$1" = 'rabbitmq-server' ] && [ "$shouldWriteConfig" ]; then
rabbit_set_config 'loopback_users.guest' 'false'
# determine whether to set "vm_memory_high_watermark" (based on cgroups)
memTotalKb=
if [ -r /proc/meminfo ]; then
memTotalKb="$(awk -F ':? +' '$1 == "MemTotal" { print $2; exit }' /proc/meminfo)"
fi
memLimitB=
if [ -r /sys/fs/cgroup/memory/memory.limit_in_bytes ]; then
# "18446744073709551615" is a valid value for "memory.limit_in_bytes", which is too big for Bash math to handle
# "$(( 18446744073709551615 / 1024 ))" = 0; "$(( 18446744073709551615 * 40 / 100 ))" = 0
memLimitB="$(awk -v totKb="$memTotalKb" '{
limB = $0;
limKb = limB / 1024;
if (!totKb || limKb < totKb) {
printf "%.0f\n", limB;
}
}' /sys/fs/cgroup/memory/memory.limit_in_bytes)"
fi
if [ -n "$memLimitB" ]; then
# if we have a cgroup memory limit, let's inform RabbitMQ of what it is (so it can calculate vm_memory_high_watermark properly)
# https://github.com/rabbitmq/rabbitmq-server/pull/1234
rabbit_set_config 'total_memory_available_override_value' "$memLimitB"
fi
# https://www.rabbitmq.com/memory.html#memsup-usage
if [ "${RABBITMQ_VM_MEMORY_HIGH_WATERMARK:-}" ]; then
# https://github.com/docker-library/rabbitmq/pull/105#issuecomment-242165822
vmMemoryHighWatermark="$(
echo "$RABBITMQ_VM_MEMORY_HIGH_WATERMARK" | awk '
/^[0-9]*[.][0-9]+$|^[0-9]+([.][0-9]+)?%$/ {
perc = $0;
if (perc ~ /%$/) {
gsub(/%$/, "", perc);
perc = perc / 100;
}
if (perc > 1.0 || perc < 0.0) {
printf "error: invalid percentage for vm_memory_high_watermark: %s (must be >= 0%%, <= 100%%)\n", $0 > "/dev/stderr";
exit 1;
}
printf "vm_memory_high_watermark.relative %0.03f\n", perc;
next;
}
/^[0-9]+$/ {
printf "vm_memory_high_watermark.absolute %s\n", $0;
next;
}
/^[0-9]+([.][0-9]+)?[a-zA-Z]+$/ {
printf "vm_memory_high_watermark.absolute %s\n", $0;
next;
}
{
printf "error: unexpected input for vm_memory_high_watermark: %s\n", $0;
exit 1;
}
'
)"
if [ "$vmMemoryHighWatermark" ]; then
vmMemoryHighWatermarkKey="${vmMemoryHighWatermark%% *}"
vmMemoryHighWatermarkVal="${vmMemoryHighWatermark#$vmMemoryHighWatermarkKey }"
rabbit_set_config "$vmMemoryHighWatermarkKey" "$vmMemoryHighWatermarkVal"
case "$vmMemoryHighWatermarkKey" in
# make sure we only set one or the other
'vm_memory_high_watermark.absolute') rabbit_comment_config 'vm_memory_high_watermark.relative' ;;
'vm_memory_high_watermark.relative') rabbit_comment_config 'vm_memory_high_watermark.absolute' ;;
esac
fi
fi
if [ "$haveSslConfig" ]; then
rabbit_set_config 'listeners.ssl.default' 5671
rabbit_env_config 'ssl' "${sslConfigKeys[@]}"
else
rabbit_set_config 'listeners.tcp.default' 5672
fi
rabbit_env_config '' "${rabbitConfigKeys[@]}"
# if management plugin is installed, generate config for it
# https://www.rabbitmq.com/management.html#configuration
if [ "$(rabbitmq-plugins list -q -m -e rabbitmq_management)" ]; then
if [ "$haveManagementSslConfig" ]; then
rabbit_set_config 'management.ssl.port' 15671
rabbit_env_config 'management_ssl' "${sslConfigKeys[@]}"
else
rabbit_set_config 'management.tcp.port' 15672
fi
# if definitions file exists, then load it
# https://www.rabbitmq.com/management.html#load-definitions
managementDefinitionsFile='/etc/rabbitmq/definitions.json'
if [ -f "$managementDefinitionsFile" ]; then
# see also https://github.com/docker-library/rabbitmq/pull/112#issuecomment-271485550
rabbit_set_config 'management.load_definitions' "$managementDefinitionsFile"
fi
fi
fi
combinedSsl='/tmp/rabbitmq-ssl/combined.pem'
if [ "$haveSslConfig" ] && [[ "$1" == rabbitmq* ]] && [ ! -f "$combinedSsl" ]; then
# Create combined cert
{
cat "$RABBITMQ_SSL_CERTFILE"
echo # https://github.com/docker-library/rabbitmq/issues/357#issuecomment-517755647
cat "$RABBITMQ_SSL_KEYFILE"
} > "$combinedSsl"
chmod 0400 "$combinedSsl"
fi
if [ "$haveSslConfig" ] && [ -f "$combinedSsl" ]; then
# More ENV vars for make clustering happiness
# we don't handle clustering in this script, but these args should ensure
# clustered SSL-enabled members will talk nicely
export ERL_SSL_PATH="$(erl -eval 'io:format("~p", [code:lib_dir(ssl, ebin)]),halt().' -noshell)"
sslErlArgs="-pa $ERL_SSL_PATH -proto_dist inet_tls -ssl_dist_opt server_certfile $combinedSsl -ssl_dist_opt server_secure_renegotiate true client_secure_renegotiate true"
export RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="${RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS:-} $sslErlArgs"
export RABBITMQ_CTL_ERL_ARGS="${RABBITMQ_CTL_ERL_ARGS:-} $sslErlArgs"
fi
exec "$@"
  • Pipeline Status: FAILURE
    FAILURE Stage: Build
    Branch: rabbitmq-contrib

    graph LR
      0([setup]):::INTERNAL_SUCCESS --> 1([Import Artifacts]):::SUCCESS --> 2((/)):::INTERNAL_SUCCESS --> 3([Stage Artifacts]):::SUCCESS --> 4((/)):::INTERNAL_SUCCESS --> 5([Build]):::FAILURE --> 6([Publish, Scan & Report]):::INTERNAL_FAILURE
    
    classDef SUCCESS font-size:10px
    classDef FAILURE fill:#f44, font-size:10px
    classDef SKIPPED font-size:10px
    classDef ABORTED fill:#889, font-size:10px
    classDef INTERNAL_SUCCESS font-size:10px, stroke-dasharray: 2, 1
    classDef INTERNAL_FAILURE fill:#f44, font-size:10px, stroke-dasharray: 2, 1
    classDef INTERNAL_SKIPPED font-size:10px, stroke-dasharray: 2, 1
    classDef INTERNAL_ABORTED fill:#889, font-size:10px, stroke-dasharray: 2, 1
    

    Error Log:

    + buildah bud --tls-verify=false --format=docker --loglevel=3 --storage-driver=vfs --build-arg BASE_REGISTRY=**** --build-arg BASE_IMAGE=redhat/ubi/ubi8 --build-arg BASE_TAG=8.2 -t ****/pivotal/rabbitmq/rabbitmq38:v3.8.5-testing --label dccscr.git.commit.id=21601f4d9ba53454d6e5417006edc1193ada28d4 --label dccscr.git.commit.url=https://dccscr.dsop.io/dsop/pivotal/rabbitmq/rabbitmq38/tree/21601f4d9ba53454d6e5417006edc1193ada28d4 --label dccscr.git.url=https://repo1.dsop.io/dsop/pivotal/rabbitmq/rabbitmq38.git --label dccscr.git.branch=rabbitmq-contrib --label dccscr.image.version=v3.8.5 --label 'dccscr.image.build.date=Thu Jul  2 16:25:06 UTC 2020
    ' --label dccscr.image.build.id=1 --label dccscr.image.name=rabbitmq38 --label dccscr.ironbank.approval.status=notapproved --label dccscr.ironbank.approval.url=TBD --label dccscr.ironbank.url=TBD --label dcar_status=notapproved .
    STEP 1: FROM ****/redhat/ubi/ubi8:8.2 AS build
    Getting image source signatures
    Copying blob sha256:5ca1c43a4a000c66e514d1769257ca05b012759d44e78e0a5e2dcb69ac4faf5b
    Copying blob sha256:af132108002d6e775b447efd4ae339910f0f50ab519dadc38e1f4a80c196b72d
    Copying blob sha256:14b622d00b8fa13f10e94876fcac5f94e72243e42252e572ca8956371622f664
    Copying config sha256:f4b4ca11d63e68c9b8cbd22766b6a7ab78b99d8a39f859cbf298704de8986dc9
    Writing manifest to image destination
    Storing signatures
    STEP 2: COPY rabbitmq.tar.xz /
    STEP 3: RUN dnf install -y xz &&     mkdir -p /opt/rabbitmq &&     tar -xf /rabbitmq.tar.xz -C /opt/rabbitmq --strip-components=1
    Red Hat Universal Base Image 8 (RPMs) - BaseOS   16 MB/s | 767 kB     00:00    
    Red Hat Universal Base Image 8 (RPMs) - AppStre  84 MB/s | 3.8 MB     00:00    
    Red Hat Universal Base Image 8 (RPMs) - CodeRea 900 kB/s |  11 kB     00:00    
    Dependencies resolved.
    ================================================================================
     Package     Architecture    Version                Repository             Size
    ================================================================================
    Installing:
     xz          x86_64          5.2.4-3.el8            ubi-8-baseos          153 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total download size: 153 k
    Installed size: 423 k
    Downloading Packages:
    xz-5.2.4-3.el8.x86_64.rpm                        18 MB/s | 153 kB     00:00    
    --------------------------------------------------------------------------------
    Total                                            15 MB/s | 153 kB     00:00     
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                        1/1 
      Installing       : xz-5.2.4-3.el8.x86_64                                  1/1 
      Running scriptlet: xz-5.2.4-3.el8.x86_64                                  1/1 
      Verifying        : xz-5.2.4-3.el8.x86_64                                  1/1 
    Installed products updated.
    
    Installed:
      xz-5.2.4-3.el8.x86_64                                                         
    
    Complete!
    STEP 4: FROM ****/redhat/ubi/ubi8:8.2
    STEP 5: LABEL org.opencontainers.image.title="rabbitmq"       org.opencontainers.image.description="RabbitMQ is a feature rich, multi-protocol messaging broker."       org.opencontainers.image.licenses="MPL-1.1"       org.opencontainers.image.url="https://www.rabbitmq.com"       org.opencontainers.image.version="3.8.5"       maintainer="cht@dsop.io"
    STEP 6: ENV LANG=C.UTF-8     LANGUAGE=C.UTF-8     LC_ALL=C.UTF-8     RABBITMQ_DATA_DIR=/var/lib/rabbitmq     RABBITMQ_HOME=/opt/rabbitmq     RABBITMQ_LOGS=-
    STEP 7: ENV HOME=${RABBITMQ_DATA_DIR}     PATH=${RABBITMQ_HOME}/sbin:${PATH}
    STEP 8: COPY --from=build /opt/rabbitmq /opt/rabbitmq
    STEP 9: COPY erlang.rpm /
    STEP 10: COPY scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
    STEP 11: RUN groupadd -g 1000 rabbitmq &&     useradd -r -u 1000 -m -d ${HOME} -s /sbin/nologin -g rabbitmq rabbitmq &&     mkdir -p /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     chown rabbitmq:0 -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     chmod g=u -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     ln -s ${RABBITMQ_DATA_DIR} ${RABBITMQ_HOME}/var &&     ln -s ${RABBITMQ_HOME}/plugins /plugins &&     dnf upgrade -y &&     dnf install -y hostname /erlang.rpm &&     rm -f /erlang.rpm &&     dnf clean all &&     rm -rf /var/cache/dnf
    Red Hat Universal Base Image 8 (RPMs) - BaseOS   31 MB/s | 767 kB     00:00    
    Red Hat Universal Base Image 8 (RPMs) - AppStre  64 MB/s | 3.8 MB     00:00    
    Red Hat Universal Base Image 8 (RPMs) - CodeRea 1.0 MB/s |  11 kB     00:00    
    Dependencies resolved.
    Nothing to do.
    Complete!
    Last metadata expiration check: 0:00:01 ago on Thu Jul  2 16:25:49 2020.
    Dependencies resolved.
    ================================================================================
     Package         Architecture  Version                Repository           Size
    ================================================================================
    Installing:
     erlang          x86_64        23.0.2-1.el8           @commandline         25 M
     hostname        x86_64        3.20-6.el8             ubi-8-baseos         32 k
    
    Transaction Summary
    ================================================================================
    Install  2 Packages
    
    Total size: 25 M
    Total download size: 32 k
    Installed size: 60 M
    Downloading Packages:
    hostname-3.20-6.el8.x86_64.rpm                  3.5 MB/s |  32 kB     00:00    
    --------------------------------------------------------------------------------
    Total                                           3.1 MB/s |  32 kB     00:00     
    warning: /erlang.rpm: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY
    Public key for erlang.rpm is not installed
    The downloaded packages were saved in cache until the next successful transaction.
    You can remove cached packages by executing 'dnf clean packages'.
    Error: GPG check FAILED
    subprocess exited with status 1
    subprocess exited with status 1
    error building at STEP "RUN groupadd -g 1000 rabbitmq &&     useradd -r -u 1000 -m -d ${HOME} -s /sbin/nologin -g rabbitmq rabbitmq &&     mkdir -p /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     chown rabbitmq:0 -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     chmod g=u -R ${HOME} ${RABBITMQ_HOME} /etc/rabbitmq /var/log/rabbitmq /tmp/rabbitmq-ssl &&     ln -s ${RABBITMQ_DATA_DIR} ${RABBITMQ_HOME}/var &&     ln -s ${RABBITMQ_HOME}/plugins /plugins &&     dnf upgrade -y &&     dnf install -y hostname /erlang.rpm &&     rm -f /erlang.rpm &&     dnf clean all &&     rm -rf /var/cache/dnf": exit status 1
    script returned exit code 1
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment