IBM MQ: Deploy do IBM MQ como container
IBM MQ Deployment com Podman
Este guia fornece instruções completas para implantar IBM MQ usando Podman.
Instalação Rápida
Passo 1: Criar Diretórios
mkdir -p /opt/ibm-mq/data
cd /opt/ibm-mq
chmod 777 data
Passo 2: Baixar a Imagem IBM MQ
podman pull icr.io/ibm-messaging/mq:latest
Passo 3: Executar o Container
cd /opt/ibm-mq
podman run -d \
--name ibm-mq \
-p 1414:1414 \
-p 9443:9443 \
-e LICENSE=accept \
-e MQ_QMGR_NAME=QM1 \
-e MQ_APP_PASSWORD=passw0rd \
-e MQ_ADMIN_PASSWORD=passw0rd \
-v $(pwd)/data:/mnt/mqm:Z \
icr.io/ibm-messaging/mq:latest
Passo 4: Verificar Status
podman ps
podman logs ibm-mq
entrando no container
podman exec -it ibm-mq bash
dspmqver
o resultado:
Name: IBM M Version: 9.4.5.0 ...
Informações de Acesso
Console Web
- URL: https://localhost:9443/ibmmq/console
- Usuário: admin
- Senha: passw0rd
Detalhes de Conexão MQ
- Host: localhost
- Porta: 1414
- Queue Manager: QM1
- Canal: DEV.APP.SVRCONN
- Usuário App: app
- Senha App: passw0rd
Operações Comuns
Visualizar Logs
podman logs -f ibm-mq
Parar e Iniciar Container
podman stop ibm-mq
podman start ibm-mq
Remover Container
podman stop ibm-mq
podman rm ibm-mq
Testando a Conexão
Connect to container
podman exec -it ibm-mq bash
Verificar Status do Queue Manager
dspmq
Usando Programas de Exemplo do MQ
Enviar uma mensagem:
/opt/mqm/samp/bin/amqsput DEV.QUEUE.1 QM1
Digite a mensagem e pressione Enter duas vezes.
Receber uma mensagem:
/opt/mqm/samp/bin/amqsget DEV.QUEUE.1 QM1
Usando Aplicações Cliente
Parâmetros de conexão:
- Queue Manager: QM1
- Host: localhost
- Porta: 1414
- Canal: DEV.APP.SVRCONN
- Usuário: app
- Senha: passw0rd
Variáveis de Ambiente
| Variável | Descrição | Valor Padrão |
|---|---|---|
| LICENSE | Aceitar acordo de licença | accept |
| MQ_QMGR_NAME | Nome do Queue Manager | QM1 |
| MQ_APP_PASSWORD | Senha do usuário de aplicação | passw0rd |
| MQ_ADMIN_PASSWORD | Senha do usuário admin | passw0rd |
| MQ_ENABLE_METRICS | Habilitar métricas Prometheus | true |
Comandos MQ Úteis
Listar Filas
podman exec ibm-mq runmqsc QM1 <<EOF
DISPLAY QUEUE(*)
EOF
Criar uma Fila
podman exec ibm-mq runmqsc QM1 <<EOF
DEFINE QLOCAL(MINHA.FILA)
EOF
Verificar Profundidade da Fila
podman exec ibm-mq runmqsc QM1 <<EOF
DISPLAY QLOCAL(DEV.QUEUE.1) CURDEPTH
EOF
Limpar uma Fila
podman exec ibm-mq runmqsc QM1 <<EOF
CLEAR QLOCAL(DEV.QUEUE.1)
EOF
Considerações de Segurança
Alterando Senhas
# Acessar o container
podman exec -it ibm-mq bash
# Alterar senha do usuário admin
mqsichangepassword admin
# Alterar senha do usuário app
mqsichangepassword app
Usando Secrets do Podman
# Criar secrets
echo "senha-segura-admin" | podman secret create mq-admin-password -
echo "senha-segura-app" | podman secret create mq-app-password -
# Usar secrets no container
podman run -d \
--name ibm-mq \
--secret mq-admin-password \
--secret mq-app-password \
-p 1414:1414 \
-p 9443:9443 \
-e LICENSE=accept \
-e MQ_QMGR_NAME=QM1 \
-v $(pwd)/mq-data:/mnt/mqm:Z \
icr.io/ibm-messaging/mq:latest