6.1.4-4-debian-10-r4 release

This commit is contained in:
Bitnami Bot
2022-01-07 17:30:03 +00:00
parent ca28a03eb4
commit 8cfb788f1f
12 changed files with 230 additions and 124 deletions

View File

@@ -7,13 +7,14 @@ ENV OS_ARCH="amd64" \
COPY prebuildfs /
# Install required system packages and dependencies
RUN install_packages acl build-essential ca-certificates curl default-libmysqlclient-dev ghostscript git gzip imagemagick libaudit1 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcurl4 libffi6 libgcc1 libgcrypt20 libgmp-dev libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu63 libidn2-0 libjemalloc2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 liblzma5 libmariadb3 libncurses6 libncursesw6 libnettle6 libnghttp2-14 libp11-kit0 libpam0g libpq5 libpsl5 libreadline-dev libreadline7 librtmp1 libsasl2-2 libsqlite3-0 libsqlite3-dev libssh2-1 libssl-dev libssl1.1 libstdc++6 libtasn1-6 libtinfo6 libunistring2 libxml2 libxml2-dev libxslt1-dev netcat netcat-traditional pkg-config procps sqlite3 sudo tar unzip wget zlib1g zlib1g-dev
RUN install_packages acl ca-certificates curl ghostscript gzip imagemagick libaudit1 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcurl4 libffi6 libgcc1 libgcrypt20 libgmp-dev libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu63 libidn2-0 libjemalloc2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 liblzma5 libmariadb3 libncurses6 libncursesw6 libnettle6 libnghttp2-14 libp11-kit0 libpam0g libpq5 libpsl5 libreadline-dev libreadline7 librtmp1 libsasl2-2 libsqlite3-0 libssh2-1 libssl-dev libssl1.1 libstdc++6 libtasn1-6 libtinfo6 libunistring2 libxml2 libxml2-dev libxslt1-dev procps sqlite3 sudo tar zlib1g zlib1g-dev
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "python" "3.8.12-11" --checksum 18529e5433b2ff7007527ec2fa5b608cb6432e27ec3e6a9f3ab94fcdb7586475
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "ruby" "2.6.9-1" --checksum 44e353b2a0312b4ebff7953080128630594fac97f97fc29b5f3ff0bab3b56429
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "node" "14.18.2-0" --checksum 5753bbbe5052000888c24ef8c918cfc45577878b03cc4dcfe7d53ea562a48e5a
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "mysql-client" "10.3.32-0" --checksum 4a211faa9436c9747dfc4374cb9e8a7f9b0065dfc58dd4784cef0f5029c2e65e
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "git" "2.34.1-0" --checksum 3da2501870c9c3efe8cfa47b7bba894d8d97292a5274b682af1eded3b671641b
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "rails" "6.1.4-4-0" --checksum e29dc41aba4fa7a796eca7595b93720fbeb8eda0b4df53523627c8b0864eb0e8
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "wait-for-port" "1.0.1-4" --checksum 53c0f1a5361a68c298f31f6701c8e8a026e77f09805d54ecfeb52cf5998d7d06
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "rails" "6.1.4-4-1" --checksum e21bb9668113df37e88f3148374d13f4e430d1d8f0ad519a5ccc9033d207646e
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-0" --checksum 3e6fc37ca073b10a73a804d39c2f0c028947a1a596382a4f8ebe43dfbaa3a25e
RUN /build/bitnami-user.sh
@@ -21,7 +22,7 @@ COPY rootfs /
RUN /opt/bitnami/scripts/rails/postunpack.sh
ENV ALLOW_EMPTY_PASSWORD="no" \
BITNAMI_APP_NAME="rails" \
BITNAMI_IMAGE_VERSION="6.1.4-4-debian-10-r3" \
BITNAMI_IMAGE_VERSION="6.1.4-4-debian-10-r4" \
MARIADB_HOST="mariadb" \
MARIADB_PORT_NUMBER="3306" \
MARIADB_ROOT_PASSWORD="" \
@@ -37,6 +38,5 @@ ENV ALLOW_EMPTY_PASSWORD="no" \
EXPOSE 3000
WORKDIR /app
USER bitnami
ENTRYPOINT [ "/opt/bitnami/scripts/rails/entrypoint.sh" ]
CMD [ "bundle", "exec", "rails", "server", "-b", "0.0.0.0", "-p", "3000" ]

View File

@@ -1,20 +1,19 @@
version: '2'
services:
mariadb:
image: docker.io/bitnami/mariadb:10.3
environment:
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
myapp:
tty: true # Enables debugging capabilities when attached to this container.
image: docker.io/bitnami/rails:6
ports:
- '3000:3000'
environment:
- DATABASE_HOST=mariadb
- DATABASE_NAME=my_app_development
volumes:
- './my-project:/app'
depends_on:
- mariadb
ports:
- 3000:3000
volumes:
- .:/app

View File

@@ -36,10 +36,10 @@
},
"rails": {
"arch": "amd64",
"digest": "e29dc41aba4fa7a796eca7595b93720fbeb8eda0b4df53523627c8b0864eb0e8",
"digest": "e21bb9668113df37e88f3148374d13f4e430d1d8f0ad519a5ccc9033d207646e",
"distro": "debian-10",
"type": "NAMI",
"version": "6.1.4-4-0"
"version": "6.1.4-4-1"
},
"ruby": {
"arch": "amd64",
@@ -47,5 +47,12 @@
"distro": "debian-10",
"type": "NAMI",
"version": "2.6.9-1"
},
"wait-for-port": {
"arch": "amd64",
"digest": "53c0f1a5361a68c298f31f6701c8e8a026e77f09805d54ecfeb52cf5998d7d06",
"distro": "debian-10",
"type": "NAMI",
"version": "1.0.1-4"
}
}

View File

@@ -6,60 +6,26 @@
# Load Generic Libraries
. /opt/bitnami/scripts/libfs.sh
. /opt/bitnami/scripts/libfile.sh
. /opt/bitnami/scripts/liblog.sh
. /opt/bitnami/scripts/libos.sh
. /opt/bitnami/scripts/libnet.sh
. /opt/bitnami/scripts/libvalidations.sh
. /opt/bitnami/scripts/libservice.sh
########################
# Load global variables used on Rails configuration.
# Validate settings in RAILS_* env vars
# Globals:
# RAILS_ENV
# SKIP_ACTIVE_RECORD
# SKIP_DB_SETUP
# SKIP_DB_WAIT
# RETRY_ATTEMPTS
# PATH
# DATABASE_HOST
# DATABASE_NAME
# DATABASE_TYPE
# DATABASE_PORT_NUMBER
# Arguments:
# None
# Returns:
# Series of exports to be used as 'eval' arguments
#########################
rails_env() {
cat <<"EOF"
RAILS_ENV="${RAILS_ENV:-development}"
SKIP_ACTIVE_RECORD="${SKIP_ACTIVE_RECORD:-no}"
SKIP_DB_SETUP="${SKIP_DB_SETUP:-no}"
SKIP_DB_WAIT="${SKIP_DB_WAIT:-no}"
RETRY_ATTEMPTS="${RETRY_ATTEMPTS:-30}"
PATH="/opt/bitnami/ruby/bin:/opt/bitnami/mysql/bin:/opt/bitnami/node/bin:/opt/bitnami/git/bin:${PATH}"
# Database configuration
DATABASE_HOST="${DATABASE_HOST:-mariadb}"
DATABASE_TYPE="${DATABASE_TYPE:-mysql}"
DATABASE_NAME="${DATABASE_NAME:-my_app_development}"
DATABASE_PORT_NUMBER="${DATABASE_PORT_NUMBER:-3306}"
EOF
}
########################
# Validate settings in DATABASE_* env vars
# Globals:
# SKIP_ACTIVE_RECORD
# SKIP_DB_SETUP
# SKIP_DB_WAIT
# RETRY_ATTEMPTS
# RAILS_SKIP_ACTIVE_RECORD
# RAILS_SKIP_DB_SETUP
# RAILS_SKIP_DB_WAIT
# RAILS_RETRY_ATTEMPTS
# Arguments:
# None
# Returns:
# None
#########################
rails_validate() {
debug "Validating settings in DATABASE_* environment variables..."
debug "Validating settings in RAILS_* environment variables..."
local error_code=0
# Auxiliary functions
@@ -67,23 +33,48 @@ rails_validate() {
error "$1"
error_code=1
}
check_yes_no_value() {
if ! is_yes_no_value "${!1}" && ! is_true_false_value "${!1}"; then
print_validation_error "The allowed values for $1 are [yes, no]"
fi
}
check_positive_value() {
if ! is_positive_int "${!1}"; then
print_validation_error "The variable $1 must be positive integer"
fi
}
check_resolved_hostname() {
if ! is_hostname_resolved "$1"; then
warn "Hostname ${1} could not be resolved, this could lead to connection issues"
fi
}
check_valid_port() {
local port_var="${1:?missing port variable}"
local err
if ! err="$(validate_port "${!port_var}")"; then
print_validation_error "An invalid port was specified in the environment variable ${port_var}: ${err}."
fi
}
check_yes_no_value SKIP_ACTIVE_RECORD
check_yes_no_value SKIP_DB_SETUP
check_yes_no_value SKIP_DB_WAIT
check_positive_value RETRY_ATTEMPTS
check_yes_no_value RAILS_SKIP_ACTIVE_RECORD
check_yes_no_value RAILS_SKIP_DB_SETUP
check_yes_no_value RAILS_SKIP_DB_WAIT
check_positive_value RAILS_RETRY_ATTEMPTS
# Skip database intialization
if is_boolean_yes "$RAILS_SKIP_ACTIVE_RECORD"; then
RAILS_SKIP_DB_WAIT="yes"
RAILS_SKIP_DB_SETUP="yes"
fi
# Validate database type
[[ "$RAILS_DATABASE_TYPE" = "mariadb" ]] && RAILS_DATABASE_TYPE=mysql
# Database configuration validations
if ! is_boolean_yes "$RAILS_SKIP_DB_WAIT" && ! is_boolean_yes "$RAILS_SKIP_DB_SETUP" && [[ "$RAILS_DATABASE_TYPE" != "sqlite3" ]]; then
check_resolved_hostname "$RAILS_DATABASE_HOST"
check_valid_port "RAILS_DATABASE_PORT_NUMBER"
fi
[[ "$error_code" -eq 0 ]] || exit "$error_code"
}
@@ -98,11 +89,6 @@ rails_validate() {
# None
#########################
rails_initialize() {
# Skip database intialization
if is_boolean_yes "$SKIP_ACTIVE_RECORD"; then
export SKIP_DB_WAIT="yes"
export SKIP_DB_SETUP="yes"
fi
# Initialize Rails project
if [[ -f "config.ru" ]]; then
info "Rails project found, skipping creation"
@@ -110,65 +96,42 @@ rails_initialize() {
bundle install
else
info "Creating new Rails project"
if is_boolean_yes "$SKIP_ACTIVE_RECORD"; then
if is_boolean_yes "$RAILS_SKIP_ACTIVE_RECORD"; then
rails new "." --skip-active-record
else
rails new "." --database "$DATABASE_TYPE"
rails new "." --database "$RAILS_DATABASE_TYPE"
# Set up database configuration
local database_path="$DATABASE_NAME"
[[ "$DATABASE_TYPE" = "sqlite3" ]] && database_path="db/${DATABASE_NAME}.sqlite3"
info "Configuring database host to ${DATABASE_HOST}"
replace_in_file "config/database.yml" "host:.*$" "host: ${DATABASE_HOST}"
info "Configuring database name to ${DATABASE_NAME}"
local database_path="$RAILS_DATABASE_NAME"
[[ "$RAILS_DATABASE_TYPE" = "sqlite3" ]] && database_path="db/${RAILS_DATABASE_NAME}.sqlite3"
info "Configuring database host to ${RAILS_DATABASE_HOST}"
replace_in_file "config/database.yml" "host:.*$" "host: ${RAILS_DATABASE_HOST}"
info "Configuring database name to ${RAILS_DATABASE_NAME}"
replace_in_file "config/database.yml" "database:.*$" "database: ${database_path}" "1,/test:/ "
fi
fi
# Wait for database and initialize
is_boolean_yes "$SKIP_DB_WAIT" || wait_for_db
is_boolean_yes "$SKIP_DB_SETUP" || initialize_db
}
########################
# Replace a regex in a file
# Arguments:
# $1 - filename
# $2 - match regex
# $3 - substitute regex
# $4 - regex modifier
# Returns: none
#########################
replace_in_file() {
local filename="${1:?filename is required}"
local match_regex="${2:?match regex is required}"
local substitute_regex="${3:?substitute regex is required}"
local regex_modifier="${4:-}"
local result
# We should avoid using 'sed in-place' substitutions
# 1) They are not compatible with files mounted from ConfigMap(s)
# 2) We found incompatibility issues with Debian10 and "in-place" substitutions
result="$(sed "${regex_modifier}s@${match_regex}@${substitute_regex}@g" "$filename")"
echo "$result" > "$filename"
is_boolean_yes "$RAILS_SKIP_DB_WAIT" || wait_for_db
is_boolean_yes "$RAILS_SKIP_DB_SETUP" || initialize_db
}
########################
# Wait for database to be ready
# Globals:
# RETRY_ATTEMPTS
# DATABASE_HOST
# DATABASE_TYPE
# DATABASE_PORT_NUMBER
# RAILS_RETRY_ATTEMPTS
# RAILS_DATABASE_HOST
# RAILS_DATABASE_TYPE
# RAILS_DATABASE_PORT_NUMBER
# Arguments:
# None
# Returns:
# None
#########################
wait_for_db() {
[[ "$DATABASE_TYPE" = "sqlite3" ]] && return
info "Connecting to the database at ${DATABASE_HOST} (type: ${DATABASE_TYPE})"
if ! retry_while "nc -z ${DATABASE_HOST} ${DATABASE_PORT_NUMBER}" "$RETRY_ATTEMPTS"; then
error "Failed to connect to the database at ${DATABASE_HOST}"
[[ "$RAILS_DATABASE_TYPE" = *"sqlite3"* ]] && return
info "Connecting to the database at ${RAILS_DATABASE_HOST} (type: ${RAILS_DATABASE_TYPE})"
if ! retry_while "debug_execute wait-for-port --timeout 5 --host ${RAILS_DATABASE_HOST} ${RAILS_DATABASE_PORT_NUMBER}" "$RAILS_RETRY_ATTEMPTS"; then
error "Failed to connect to the database at ${RAILS_DATABASE_HOST}"
return 1
fi
}
@@ -176,7 +139,7 @@ wait_for_db() {
########################
# Initialize database
# Globals:
# RETRY_ATTEMPTS
# RAILS_RETRY_ATTEMPTS
# Arguments:
# None
# Returns:
@@ -186,7 +149,7 @@ initialize_db() {
# The db:prepare command performs db:create, db:migrate and db:seed only when needed
# If the database already exists, only db:migrate is run
info "Initializing database (db:prepare)"
if ! retry_while "bundle exec rails db:prepare" "$RETRY_ATTEMPTS"; then
if ! retry_while "bundle exec rails db:prepare" "$RAILS_RETRY_ATTEMPTS"; then
error "Failed to create database"
return 1
fi

View File

@@ -0,0 +1,77 @@
#!/bin/bash
#
# Environment configuration for rails
# The values for all environment variables will be set in the below order of precedence
# 1. Custom environment variables defined below after Bitnami defaults
# 2. Constants defined in this file (environment variables with no default), i.e. BITNAMI_ROOT_DIR
# 3. Environment variables overridden via external files using *_FILE variables (see below)
# 4. Environment variables set externally (i.e. current Bash context/Dockerfile/userdata)
# Load logging library
. /opt/bitnami/scripts/liblog.sh
export BITNAMI_ROOT_DIR="/opt/bitnami"
export BITNAMI_VOLUME_DIR="/bitnami"
# Logging configuration
export MODULE="${MODULE:-rails}"
export BITNAMI_DEBUG="${BITNAMI_DEBUG:-false}"
# By setting an environment variable matching *_FILE to a file path, the prefixed environment
# variable will be overridden with the value specified in that file
rails_env_vars=(
RAILS_ENV
RAILS_SKIP_ACTIVE_RECORD
RAILS_SKIP_DB_SETUP
RAILS_SKIP_DB_WAIT
RAILS_RETRY_ATTEMPTS
RAILS_DATABASE_TYPE
RAILS_DATABASE_HOST
RAILS_DATABASE_PORT_NUMBER
RAILS_DATABASE_NAME
SKIP_ACTIVE_RECORD
SKIP_DB_SETUP
SKIP_DB_WAIT
RETRY_ATTEMPTS
DATABASE_TYPE
DATABASE_HOST
DATABASE_PORT_NUMBER
DATABASE_NAME
)
for env_var in "${rails_env_vars[@]}"; do
file_env_var="${env_var}_FILE"
if [[ -n "${!file_env_var:-}" ]]; then
if [[ -r "${!file_env_var:-}" ]]; then
export "${env_var}=$(< "${!file_env_var}")"
unset "${file_env_var}"
else
warn "Skipping export of '${env_var}'. '${!file_env_var:-}' is not readable."
fi
fi
done
unset rails_env_vars
# Rails configuration
export RAILS_ENV="${RAILS_ENV:-development}"
RAILS_SKIP_ACTIVE_RECORD="${RAILS_SKIP_ACTIVE_RECORD:-"${SKIP_ACTIVE_RECORD:-}"}"
export RAILS_SKIP_ACTIVE_RECORD="${RAILS_SKIP_ACTIVE_RECORD:-no}"
RAILS_SKIP_DB_SETUP="${RAILS_SKIP_DB_SETUP:-"${SKIP_DB_SETUP:-}"}"
export RAILS_SKIP_DB_SETUP="${RAILS_SKIP_DB_SETUP:-no}"
RAILS_SKIP_DB_WAIT="${RAILS_SKIP_DB_WAIT:-"${SKIP_DB_WAIT:-}"}"
export RAILS_SKIP_DB_WAIT="${RAILS_SKIP_DB_WAIT:-no}"
RAILS_RETRY_ATTEMPTS="${RAILS_RETRY_ATTEMPTS:-"${RETRY_ATTEMPTS:-}"}"
export RAILS_RETRY_ATTEMPTS="${RAILS_RETRY_ATTEMPTS:-30}"
export PATH="${BITNAMI_ROOT_DIR}/ruby/bin:${BITNAMI_ROOT_DIR}/mysql/bin:${BITNAMI_ROOT_DIR}/node/bin:${BITNAMI_ROOT_DIR}/git/bin:${PATH}"
# Database configuration
RAILS_DATABASE_TYPE="${RAILS_DATABASE_TYPE:-"${DATABASE_TYPE:-}"}"
export RAILS_DATABASE_TYPE="${RAILS_DATABASE_TYPE:-mariadb}" # only used during the first initialization
RAILS_DATABASE_HOST="${RAILS_DATABASE_HOST:-"${DATABASE_HOST:-}"}"
export RAILS_DATABASE_HOST="${RAILS_DATABASE_HOST:-mariadb}" # only used during the first initialization
RAILS_DATABASE_PORT_NUMBER="${RAILS_DATABASE_PORT_NUMBER:-"${DATABASE_PORT_NUMBER:-}"}"
export RAILS_DATABASE_PORT_NUMBER="${RAILS_DATABASE_PORT_NUMBER:-3306}" # only used during the first initialization
RAILS_DATABASE_NAME="${RAILS_DATABASE_NAME:-"${DATABASE_NAME:-}"}"
export RAILS_DATABASE_NAME="${RAILS_DATABASE_NAME:-bitnami_myapp}" # only used during the first initialization
# Custom environment variables may be defined below

View File

@@ -5,15 +5,14 @@
set -o errexit
set -o nounset
set -o pipefail
#set -o xtrace
# set -o xtrace # Uncomment this line for debugging purposes
# Load libraries
. /opt/bitnami/scripts/librails.sh
. /opt/bitnami/scripts/libbitnami.sh
. /opt/bitnami/scripts/liblog.sh
# Load Rails environment
eval "$(rails_env)"
. /opt/bitnami/scripts/rails-env.sh
print_welcome_page

View File

@@ -5,7 +5,7 @@
set -o errexit
set -o nounset
set -o pipefail
# set -o xtrace # Uncomment this line for debugging purpose
# set -o xtrace # Uncomment this line for debugging purposes
# Load libraries
. /opt/bitnami/scripts/librails.sh
@@ -13,8 +13,8 @@ set -o pipefail
. /opt/bitnami/scripts/liblog.sh
# Load Rails environment
eval "$(rails_env)"
. /opt/bitnami/scripts/rails-env.sh
info "Granting non-root permissions to /app directory"
mkdir -p /app
chown -R bitnami:bitnami /app
# Ensure required directories exist
ensure_dir_exists "/app"
configure_permissions_ownership "/app" -d "775" -f "664"

View File

@@ -5,16 +5,19 @@
set -o errexit
set -o nounset
set -o pipefail
# set -o xtrace # Uncomment this line for debugging purpose
# set -o xtrace # Uncomment this line for debugging purposes
# Load libraries
. /opt/bitnami/scripts/librails.sh
# Load Rails environment
eval "$(rails_env)"
. /opt/bitnami/scripts/rails-env.sh
# Ensure environment variables for the Rails app are valid
rails_validate
# Ensure Rails app is initialized
rails_initialize
# Ensure all folders in /app are writable by the non-root "bitnami" user
chown -R bitnami:bitnami /app

View File

@@ -0,0 +1,36 @@
#!/bin/bash
#
# Executes custom Bash init scripts
# shellcheck disable=SC1090,SC1091
set -o errexit
set -o nounset
set -o pipefail
# set -o xtrace # Uncomment this line for debugging purposes
# Load libraries with logging functions
if [[ -f /opt/bitnami/base/functions ]]; then
. /opt/bitnami/base/functions
else
. /opt/bitnami/scripts/liblog.sh
fi
# Loop through all input files passed via stdin
read -r -a custom_init_scripts <<< "$@"
failure=0
if [[ "${#custom_init_scripts[@]}" -gt 0 ]]; then
for custom_init_script in "${custom_init_scripts[@]}"; do
[[ "$custom_init_script" != *".sh" ]] && continue
if [[ -x "$custom_init_script" ]]; then
info "Executing ${custom_init_script}"
"$custom_init_script" || failure="1"
else
info "Sourcing ${custom_init_script} as it is not executable by the current user, any error may cause initialization to fail"
. "$custom_init_script"
fi
[[ "$failure" -ne 0 ]] && error "Failed to execute ${custom_init_script}"
done
fi
exit "$failure"

View File

@@ -0,0 +1,23 @@
#!/bin/bash
# shellcheck disable=SC1091
set -o errexit
set -o nounset
set -o pipefail
# set -o xtrace # Uncomment this line for debugging purposes
# Only execute init scripts once
if [[ ! -f "/bitnami/rails/.user_scripts_initialized" && -d "/docker-entrypoint-init.d" ]]; then
read -r -a init_scripts <<< "$(find "/docker-entrypoint-init.d" -type f -print0 | sort -z | xargs -0)"
if [[ "${#init_scripts[@]}" -gt 0 ]] && [[ ! -f "/bitnami/rails/.user_scripts_initialized" ]]; then
mkdir -p "/bitnami/rails"
for init_script in "${init_scripts[@]}"; do
for init_script_type_handler in /post-init.d/*.sh; do
"$init_script_type_handler" "$init_script"
done
done
fi
touch "/bitnami/rails/.user_scripts_initialized"
fi

View File

@@ -37,7 +37,7 @@ $ docker-compose up
Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/).
* [`6`, `6-debian-10`, `6.1.4-4`, `6.1.4-4-debian-10-r3`, `latest` (6/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-rails/blob/6.1.4-4-debian-10-r3/6/debian-10/Dockerfile)
* [`6`, `6-debian-10`, `6.1.4-4`, `6.1.4-4-debian-10-r4`, `latest` (6/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-rails/blob/6.1.4-4-debian-10-r4/6/debian-10/Dockerfile)
Subscribe to project updates by watching the [bitnami/rails GitHub repo](https://github.com/bitnami/bitnami-docker-rails).

View File

@@ -1,20 +1,19 @@
version: '2'
services:
mariadb:
image: docker.io/bitnami/mariadb:10.3
environment:
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
myapp:
tty: true # Enables debugging capabilities when attached to this container.
image: docker.io/bitnami/rails:6
ports:
- '3000:3000'
environment:
- DATABASE_HOST=mariadb
- DATABASE_NAME=my_app_development
volumes:
- './my-project:/app'
depends_on:
- mariadb
ports:
- 3000:3000
volumes:
- .:/app