Criar um Docker Oracle XE Ubuntu

Subir um banco de dados Oracle XE (Express Edition) usando Docker em um sistema Linux Ubuntu envolve alguns passos. Primeiro, você precisa ter o Docker instalado em sua máquina. Se você ainda não tem o Docker, pode instalá-lo através dos passos:


1. Caso não tenha o snap instalado:
sudo apt update
sudo apt install snapd

2. Instalar o docker:
sudo snap install docker

Aqui está um guia passo a passo para subir um banco de dados Oracle XE com Docker:

  1. Instalar o Docker:
    Se você ainda não tem o Docker instalado, instale-o usando o gerenciador de pacotes ou siga as instruções no site oficial do Docker.
  2. Baixar a Imagem do Oracle XE:
    A Oracle oferece imagens Docker oficiais para o Oracle XE. Você pode encontrá-las no GitHub da Oracle. No entanto, para simplificar, você pode usar imagens de terceiros disponíveis no Docker Hub. Por exemplo, para baixar a imagem do Oracle XE 18c, você usaria o seguinte comando:
   docker pull gvenzl/oracle-xe
  1. Criar e Iniciar o Container:
    Após baixar a imagem, crie e inicie o container usando o comando docker run. Por exemplo:
   docker run -d -p 1521:1521 --name oracle-xe -e ORACLE_PASSWORD=senha gvenzl/oracle-xe

Neste comando:

  • -d executa o container em background.
  • -p 1521:1521 mapeia a porta 1521 do container para a porta 1521 da sua máquina host.
  • --name oracle-xe dá ao container o nome oracle-xe.
  • -e ORACLE_PASSWORD=senha define a senha do usuário SYS e SYSTEM.
  1. Verificar o Container:
    Você pode verificar se o container está rodando corretamente com:
   docker ps
  1. Conectar ao Banco de Dados:
    Você pode se conectar ao banco de dados usando qualquer cliente SQL, como SQL*Plus, SQL Developer ou mesmo ferramentas de terceiros. Use o endereço localhost com a porta 1521, e as credenciais definidas no passo 3. Ex utilizando SQL Developer:

6. Para parar e iniciar novamente o container:

sudo docker stop oracle-xe
sudo docker start oracle-xe

7. Verificar o status:

sudo docker ps -a

8. Caso queira conectar no container e chamar um sqlplus por exemplo:

sudo docker exec -it –user=oracle oracle-xe bash