Sign inSign up

lzocateli/oracle

By lzocateli

•Updated 2 months ago

Image
0

204

lzocateli/oracle repository overview

⁠Oracle Database Free

Docker Hub Version Base Platforms Repository code license Build

Imagem Oracle Database Free baseada em gvenzl/oracle-free:23-slim, com padrao de execucao local para desenvolvimento e homologacao em linux/amd64.

⁠Referencia da imagem

ItemValor
Imagemlzocateli/oracle:23-slim
Imagem basegvenzl/oracle-free:23-slim
Plataformaslinux/amd64
Usuario padraooracle
Entry pointcontainer-entrypoint.sh (upstream)
Diretorio de dados/opt/oracle/oradata
Codigo-fontehttps://github.com/lzocateli/containers/tree/main/oracle
Documentacaohttps://github.com/lzocateli/containers/tree/main/oracle

⁠Conteudo e finalidade

⁠Incluido
  • Oracle Database Free 23c da imagem base upstream.
  • Charset padrao AL32UTF8 via ORACLE_DATABASE_CHARSET.
  • Volume para persistencia em /opt/oracle/oradata.
⁠Nao incluido
  • Backup automatico, HA/cluster ou Data Guard.
  • Provisionamento de schema por defaults inseguros.
  • Secrets versionados no repositorio.

⁠Inicio rapido

docker pull lzocateli/oracle:23-slim
mkdir -p ./data/oracle
docker run --name oracle \
  --detach \
  --publish 127.0.0.1:1521:1521 \
  --env ORACLE_PASSWORD='Troque_Esta_Senha_2026!' \
  --volume "$(pwd)/data/oracle:/opt/oracle/oradata" \
  lzocateli/oracle:23-slim

⁠Docker Compose

Use o arquivo oracle/docker-compose.yml com variaveis em .env:

cp oracle/.env.example oracle/.env
# edite oracle/.env com senhas reais
docker compose -f oracle/docker-compose.yml --env-file oracle/.env up -d

⁠Configuracao

⁠Variaveis de ambiente
VariavelObrigatoriaSecretaPadraoDescricao
ORACLE_PASSWORDSimSimnenhumSenha de administracao definida pela imagem base.
ORACLE_DATABASENaoNaovazioPDB adicional para criacao de app user (nao use FREEPDB1, que ja existe na imagem base).
ORACLE_USERNaoNaoappUsuario de aplicacao para scripts customizados.
ORACLE_USER_PASSWORDNaoSimnenhumSenha do usuario de aplicacao.
ORACLE_TABLESPACENaoNaoUSERSTablespace do usuario de aplicacao.
DATA_DIRNaoNao./dataDiretoria base para persistencia no Compose.
⁠Portas
PortaProtocoloExposicao recomendadaFinalidade
1521/tcpTCPLocalhost ou rede internaConexao SQL*Net com a instancia Oracle.
⁠Persistencia e mounts
Caminho no conteinerModoConteudoBackup necessario
/opt/oracle/oradatarwArquivos de dados do bancoSim
/container-entrypoint-initdb.droScripts .sql e .sh de bootstrapSim
⁠Secrets
  • Nao versionar .env com senhas reais.
  • Fornecer segredos por --env-file, secret manager ou variaveis de runtime.
  • Nunca passar secrets por ARG ou ENV no Dockerfile.

⁠Inicializacao e ciclo de vida

A imagem usa o entrypoint upstream container-entrypoint.sh. Na primeira inicializacao, a base cria e prepara a instancia. Scripts em /container-entrypoint-initdb.d sao executados pelo fluxo upstream e devem ser idempotentes.

⁠Seguranca

  • Nao exponha 1521 diretamente na internet.
  • Mantenha o mount de dados fora do Git e com controle de acesso no host.
  • Execute com senha forte e rotacao periodica.
  • Preserve o usuario padrao oracle (nao-root).

⁠Build local

docker build --pull --tag lzocateli/oracle:23-slim oracle

⁠Tags e compatibilidade

TagMutabilidadeCompatibilidadeUso recomendado
23-slimImutavelOracle Free 23c em linux/amd64Desenvolvimento e homologacao
21-slimLegadoVersao anterior baseada em contrato antigoSomente compatibilidade historica

⁠Validacao

Antes da publicacao, valide:

  • docker buildx build --check --file oracle/Dockerfile oracle;
  • build linux/amd64;
  • startup com ORACLE_PASSWORD valida;
  • health check healthcheck.sh no Compose;
  • persistencia apos reinicio;
  • Trivy, SBOM e proveniencia no workflow oficial.

⁠Publicacao

Use Actions > Publicar imagem de container > Run workflow com:

  • context_path: oracle;
  • image_name: oracle;
  • image_tag: 23-slim;
  • dockerfile: Dockerfile;
  • platforms: linux/amd64.

⁠Operacao

  • Agende backup consistente de /opt/oracle/oradata.
  • Teste restore periodicamente em ambiente separado.
  • Para upgrade, publique nova tag imutavel e valide migracao de dados antes do cutover.

⁠Troubleshooting

SintomaCausa provavelVerificacaoCorrecao
Container reinicia sem subirORACLE_PASSWORD ausente/invalidadocker logs oracleDefinir senha valida e recriar container
Cliente nao conecta na 1521Porta nao publicada ou firewalldocker ps e regras de redePublicar em localhost/rede correta
Scripts nao executamMount incorreto ou script sem permissaoVerificar mount em /container-entrypoint-initdb.dAjustar volume e permissao de leitura
Dados nao persistemVolume errado ou removidodocker inspect volumes/mountsCorrigir mapeamento para /opt/oracle/oradata

⁠Limitacoes conhecidas

  • Plataforma suportada neste repositorio: somente linux/amd64.
  • Build e smoke test completos podem exigir mais recurso local e tempo de inicializacao elevado.

⁠Licencas e fontes

ComponenteVersaoLicencaFonte
Conteudo original deste repositorioAtualMIThttps://github.com/lzocateli/containers
Oracle Database Free23cOracle Free Use Terms and Conditionshttps://www.oracle.com/database/free/
Imagem base gvenzl/oracle-free23-slimLicencas dos componentes upstreamhttps://hub.docker.com/r/gvenzl/oracle-free

O badge MIT descreve somente o conteudo original deste repositorio. Componentes de terceiros permanecem sujeitos aos termos de suas fontes. Consulte a politica de licenciamento⁠.

⁠Historico de alteracoes

  • 23-slim: padroniza contrato da imagem, remove permissao 777, atualiza Compose sem secrets hardcoded e alinha README ao template oficial.

Tag summary

Content type

Image

Digest

sha256:7807d0661…

Size

813.4 MB

Last updated

2 months ago

docker pull lzocateli/oracle:23-slim