Troubleshooting your namespace applications
When using shared namespaces, we must ensure that you share all namespaces (IPC, PID and UTS/hostname) and mounted volumes, otherwise the applications will not work.
See Running local binding applications in separate containers for a list of restrictions we must follow.
If the application does not meet all the restrictions listed, you could encounter problems where the container starts, but the functionality you expect does not work.
The following list outlines some common causes, and the behavior we are likely see if you have forgotten to meet one of the restrictions.- If you forget to share either the namespace (UTS/PID/IPC), or the hostname of the containers,
and you mount the volume, then your container will be able to see the queue manager but not interact
with the queue manager.
- For dspmq commands, you see the
following:
docker exec container dspmq QMNAME(QM1) STATUS(Status not available)
- For runmqsc commands, or other commands that try to connect to the queue
manager, we are likely to receive an AMQ8146 error
message:
docker exec -it container runmqsc QM1 5724-H72 (C) Copyright IBM Corp. 1994, 2020. Starting MQSC for queue manager QM1. AMQ8146: IBM MQ queue manager not available
- For dspmq commands, you see the
following:
- If you share all the required namespaces but we do not mount a shared volume to the
/var/mqm directory, and you have a valid IBM MQ data path, then your commands also receive
AMQ8146 error messages. However, dspmq is not able to see
your queue manager at all, and instead returns a blank
response:
docker exec container dspmq
- If you share all the required namespaces but we do not mount a shared volume to the
/var/mqm directory, and we do not have a valid IBM MQ data path (or no IBM MQ data path), then you see various errors as the data path
is a key component of an IBM MQ installation. Without
the data path, IBM MQ cannot operate. If you run any
of the following commands, and you see responses similar to those shown in these examples, you
should verify that we have mounted the directory or created an IBM MQ data
directory:
docker exec container dspmq 'No such file or directory' from /var/mqm/mqs.ini AMQ6090: IBM MQ was unable to display an error message FFFFFFFF. AMQffff docker exec container dspmqver AMQ7047: An unexpected error was encountered by a command. Reason code is 0. docker exec container mqrc <file path>/mqrc.c[1152] lpiObtainQMDetails --> 545261715 docker exec container crtmqm QM1 AMQ8101: IBM MQ error (893) has occurred. docker exec container strmqm QM1 AMQ6239: Permission denied attempting to access filesystem location '/var/mqm'. AMQ7002: An error occurred manipulating a file. docker exec container endmqm QM1 AMQ8101: IBM MQ error (893) has occurred. docker exec container dltmqm QM1 AMQ7002: An error occurred manipulating a file. docker exec container strmqweb <file path>/mqrc.c[1152] lpiObtainQMDetails --> 545261715
Parent topic: Running local binding applications in separate containers