GithubHelp home page GithubHelp logo

ibm-messaging / mq-container Goto Github PK

View Code? Open in Web Editor NEW
242.0 32.0 186.0 11.3 MB

Container images for IBM® MQ

License: Apache License 2.0

Makefile 5.36% Smarty 1.61% Go 79.29% Shell 6.83% Java 1.22% Dockerfile 0.57% C 5.13%
ibm-mq docker-images golang docker-image prometheus-metrics ibm container-image

mq-container's Introduction

IBM MQ container

Build Status

Note: The master branch may be in an unstable or even broken state during development. To get a stable version, please use the correct branch for your MQ version, instead of the master branch.

Overview

Run IBM® MQ in a container.

You can build an image containing either IBM MQ Advanced, or IBM MQ Advanced for Developers. The developer image includes a default developer configuration, to make it easier to get started. There is also an incubating folder for additional images for other MQ components, which you might find useful.

Build

After extracting the code from this repository, you can follow the build documentation to build an image.

Usage

See the usage documentation for details on how to run a container.

Note that in order to use the image, it is necessary to accept the terms of the IBM MQ license.

Environment variables supported by this image

  • LICENSE - Set this to accept to agree to the MQ Advanced for Developers license. If you wish to see the license you can set this to view.
  • LANG - Set this to the language you would like the license to be printed in.
  • MQ_QMGR_NAME - Set this to the name you want your Queue Manager to be created with.
  • MQ_QMGR_LOG_FILE_PAGES - Set this to control the value for LogFilePages passed to the "crtmqm" command. Cannot be changed after queue manager creation.
  • MQ_LOGGING_CONSOLE_SOURCE - Specifies a comma-separated list of sources for logs which are mirrored to the container's stdout. The valid values are "qmgr", "web" and "mqsc". Defaults to "qmgr,web".
  • MQ_LOGGING_CONSOLE_FORMAT - Changes the format of the logs which are printed on the container's stdout. Set to "json" to use JSON format (JSON object per line); set to "basic" to use a simple human-readable format. Defaults to "basic".
  • MQ_LOGGING_CONSOLE_EXCLUDE_ID - Excludes log messages with the specified ID. The log messages still appear in the log file on disk, but are excluded from the container's stdout. Defaults to "AMQ5041I,AMQ5052I,AMQ5051I,AMQ5037I,AMQ5975I".
  • MQ_ENABLE_METRICS - Set this to true to generate Prometheus metrics for your Queue Manager.

See the default developer configuration docs for the extra environment variables supported by the MQ Advanced for Developers image.

Kubernetes

If you want to use IBM MQ on Kubernetes, you can find an example Helm chart here: IBM MQ Sample Helm Chart. This can be used to run the container on a Kubernetes cluster, such as the IBM Cloud Kubernetes Service.

Issues and contributions

For issues relating specifically to the container image or Helm chart, please use the GitHub issue tracker. Pull requests are not currently accepted.

License

The Dockerfiles and associated code and scripts are licensed under the Apache License 2.0. Licenses for the products installed within the images are as follows:

  • IBM MQ Advanced for Developers (International License Agreement for Non-Warranted Programs). This license may be viewed from an image using the LICENSE=view environment variable as described above or by following the link above.
  • IBM MQ Advanced (International Program License Agreement). This license may be viewed from an image using the LICENSE=view environment variable as described above or by following the link above.

Note: The IBM MQ Advanced for Developers license does not permit further distribution and the terms restrict usage to a developer machine.

Copyright

© Copyright IBM Corporation 2015, 2023

mq-container's People

Contributors

ajohnson1 avatar alec-painter avatar amritkandola-1 avatar arthurbarr avatar bhavkris avatar david-r-bell avatar davidjmccann avatar dj-morley avatar dselvara1 avatar gsriniv avatar jack-evans avatar jasonedm avatar jefflufc avatar kirandarbha avatar lpowlett avatar mamgainp avatar manishaibm avatar mirskifa avatar ndaffernibm avatar parrobe avatar ramsubbarao avatar riccardobiraghi avatar sdmarshall79 avatar shashikanthraot avatar tanaysingh3484 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mq-container's Issues

"make build-devserver" fails with "source: not found"

Looks like its failing at install.sh's "source /etc/os-release" command.

$ make build-devserver
-
-
-
Step 5/7 : COPY install-mq.sh /usr/local/bin/
 ---> c770fa8d0e39
Step 6/7 : RUN chmod u+x /usr/local/bin/install-mq.sh   && sleep 1   && install-mq.sh   && rm -rf /var/mqm   && /opt/mqm/bin/crtmqdir -f -s
 ---> Running in c633133ed087
+ test -f /usr/bin/yum
+ RHEL=false
+ test -f /usr/bin/apt-get
+ UBUNTU=true
+ [ -z ibmmq-sdk ibmmq-samples build-essential ]
+ true
+ export DEBIAN_FRONTEND=noninteractive
+ source /etc/os-release
/usr/local/bin/install-mq.sh: 22: /usr/local/bin/install-mq.sh: source: not found
The command '/bin/sh -c chmod u+x /usr/local/bin/install-mq.sh   && sleep 1   && install-mq.sh   && rm -rf /var/mqm   && /opt/mqm/bin/crtmqdir -f -s' returned
code: 127
Makefile:279: recipe for target 'build-sdk-ex' failed
make: *** [build-sdk-ex] Error 127

Use a Go template file for TLS configuration

The MQSC for configure TLS, as part of the default developer configuration, is currently included as strings directly in the Go code. This should be moved to use a Go template, and use the processTemplateFile function.

dev branch test failure: TestVolumeUnmount

Another intermittent test failure:

--- FAIL: TestVolumeUnmount (8.18s)
	docker_api_test_util.go:430: Created volume TestVolumeUnmount
	docker_api_test_util.go:261: Starting container: 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f
	docker_api_test_util.go:386: MQ is ready
	docker_api_test.go:297: Expected umount to work with rc=0, got 32
	docker_api_test_util.go:177: Inspected container 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f: types.ContainerJSON{ContainerJSONBase:(*types.ContainerJSONBase)(0xc42017f340), Mounts:[]types.MountPoint{types.MountPoint{Type:"bind", Name:"", Source:"/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage", Destination:"/var/coverage", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}, types.MountPoint{Type:"volume", Name:"TestVolumeUnmount", Source:"/var/lib/docker/volumes/TestVolumeUnmount/_data", Destination:"/mnt/mqm", Driver:"local", Mode:"z", RW:true, Propagation:""}}, Config:(*container.Config)(0xc4202803c0), NetworkSettings:(*types.NetworkSettings)(0xc420279a00)}
	docker_api_test_util.go:182: Inspected container 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f: {
		    "Id": "0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f",
		    "Created": "2018-05-25T08:31:37.549557096Z",
		    "Path": "runmqdevserver",
		    "Args": [],
		    "State": {
		        "Status": "running",
		        "Running": true,
		        "Paused": false,
		        "Restarting": false,
		        "OOMKilled": false,
		        "Dead": false,
		        "Pid": 6519,
		        "ExitCode": 0,
		        "Error": "",
		        "StartedAt": "2018-05-25T08:31:38.104301858Z",
		        "FinishedAt": "0001-01-01T00:00:00Z"
		    },
		    "Image": "sha256:8b5eed066b58335c3033a6e4979557be2c1661812ee9f07a87108c74ba123649",
		    "ResolvConfPath": "/var/lib/docker/containers/0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f/resolv.conf",
		    "HostnamePath": "/var/lib/docker/containers/0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f/hostname",
		    "HostsPath": "/var/lib/docker/containers/0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f/hosts",
		    "LogPath": "/var/lib/docker/containers/0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f/0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f-json.log",
		    "Name": "/TestVolumeUnmount",
		    "RestartCount": 0,
		    "Driver": "overlay2",
		    "MountLabel": "",
		    "ProcessLabel": "",
		    "AppArmorProfile": "",
		    "ExecIDs": null,
		    "HostConfig": {
		        "Binds": [
		            "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage:/var/coverage",
		            "TestVolumeUnmount:/mnt/mqm"
		        ],
		        "ContainerIDFile": "",
		        "LogConfig": {
		            "Type": "json-file",
		            "Config": {}
		        },
		        "NetworkMode": "default",
		        "PortBindings": null,
		        "RestartPolicy": {
		            "Name": "",
		            "MaximumRetryCount": 0
		        },
		        "AutoRemove": false,
		        "VolumeDriver": "",
		        "VolumesFrom": null,
		        "CapAdd": [
		            "SYS_ADMIN"
		        ],
		        "CapDrop": null,
		        "Dns": null,
		        "DnsOptions": null,
		        "DnsSearch": null,
		        "ExtraHosts": null,
		        "GroupAdd": null,
		        "IpcMode": "shareable",
		        "Cgroup": "",
		        "Links": null,
		        "OomScoreAdj": 0,
		        "PidMode": "",
		        "Privileged": false,
		        "PublishAllPorts": false,
		        "ReadonlyRootfs": false,
		        "SecurityOpt": null,
		        "UTSMode": "",
		        "UsernsMode": "",
		        "ShmSize": 67108864,
		        "Runtime": "runc",
		        "ConsoleSize": [
		            0,
		            0
		        ],
		        "Isolation": "",
		        "CpuShares": 0,
		        "Memory": 0,
		        "NanoCpus": 0,
		        "CgroupParent": "",
		        "BlkioWeight": 0,
		        "BlkioWeightDevice": null,
		        "BlkioDeviceReadBps": null,
		        "BlkioDeviceWriteBps": null,
		        "BlkioDeviceReadIOps": null,
		        "BlkioDeviceWriteIOps": null,
		        "CpuPeriod": 0,
		        "CpuQuota": 0,
		        "CpuRealtimePeriod": 0,
		        "CpuRealtimeRuntime": 0,
		        "CpusetCpus": "",
		        "CpusetMems": "",
		        "Devices": null,
		        "DiskQuota": 0,
		        "KernelMemory": 0,
		        "MemoryReservation": 0,
		        "MemorySwap": 0,
		        "MemorySwappiness": null,
		        "OomKillDisable": false,
		        "PidsLimit": 0,
		        "Ulimits": null,
		        "CpuCount": 0,
		        "CpuPercent": 0,
		        "IOMaximumIOps": 0,
		        "IOMaximumBandwidth": 0
		    },
		    "GraphDriver": {
		        "Name": "overlay2",
		        "Data": {
		            "LowerDir": "/var/lib/docker/overlay2/f5e09ed10d303a1a7f1d59dcdc87898548f5e84465ebc30f4294d06b813be249-init/diff:/var/lib/docker/overlay2/f1574da8ec9925bd54e094e95fe064d79488f819e5af5fb840208e3bd9336855/diff:/var/lib/docker/overlay2/ff6f2808bbb89601a56ee79c50719feb367b29e127b5301c2be72c1d02064e48/diff:/var/lib/docker/overlay2/dd313fdde6c3b9e0354f187dab307a0223fae0c239be7ef6ff1192538bcb845c/diff:/var/lib/docker/overlay2/d5e7e35e3b63e9d52ad3213fb224c2ca29a7da635e60907f8357328eec7edf78/diff:/var/lib/docker/overlay2/002b4bb5ac02338c00afcd7c75f50a88504e817550ca987031aa24c8df71c4ba/diff:/var/lib/docker/overlay2/55e800f4bca870003716f05416fb76f03c681e5665df310fd2f89155ef5e1f51/diff:/var/lib/docker/overlay2/04d8812d37a009ee65945aa0ebde47b82cf1acbd8d42230d19b33f75b76976cf/diff:/var/lib/docker/overlay2/74bc8781b7c3c14ba2bc7fe92d486227200b98d25a73853093270673636b1767/diff:/var/lib/docker/overlay2/f6f923b402fd0c34afe2aec071ce3aeb641df813bbe38ab19a8748b5e75bf21e/diff:/var/lib/docker/overlay2/8039d3fb9c9bd1e0265ece4def4a5a3e8fb87ae1a5f9b2a7ee32f9eaf6604023/diff:/var/lib/docker/overlay2/b5f9f9321cbf0f19e0713b3646bd0b664a6cf4f46dc70607601fc155bc3f313b/diff:/var/lib/docker/overlay2/245f6ba61d08078696d7f23e1e8f58f385d6ac27a55412a665b5f3ea8827ea8f/diff:/var/lib/docker/overlay2/0d2d15e4085e40b74a417a26ef4713687242245281e26479ea571ede019b79ff/diff:/var/lib/docker/overlay2/af38f2a93336175e5e2c9bb0bf3521d2f3287d804b4aab7da5c1ea59331ea2eb/diff:/var/lib/docker/overlay2/33fe26ab63ded237a3e084df7232ee640d59f77784ad749c73b05e3156d02fa6/diff:/var/lib/docker/overlay2/c3009edef93a555e10946727fe7c3ddaa8c3ef1f364ebfb5323eae1b1521484a/diff:/var/lib/docker/overlay2/48792130de1aa9d38e9ba4639fd4be63a45c7030738d628af71a244506c8f775/diff:/var/lib/docker/overlay2/deaa02dbe914aa63cedaf4be93ef32ac59f6ad2e806ae8d88bb0de965cafe46e/diff:/var/lib/docker/overlay2/142500ed8c2c17d857f8b9d082762420cdb733041f50ab0abaa688ad464cb0c5/diff",
		            "MergedDir": "/var/lib/docker/overlay2/f5e09ed10d303a1a7f1d59dcdc87898548f5e84465ebc30f4294d06b813be249/merged",
		            "UpperDir": "/var/lib/docker/overlay2/f5e09ed10d303a1a7f1d59dcdc87898548f5e84465ebc30f4294d06b813be249/diff",
		            "WorkDir": "/var/lib/docker/overlay2/f5e09ed10d303a1a7f1d59dcdc87898548f5e84465ebc30f4294d06b813be249/work"
		        }
		    },
		    "Mounts": [
		        {
		            "Type": "bind",
		            "Source": "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage",
		            "Destination": "/var/coverage",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        },
		        {
		            "Type": "volume",
		            "Name": "TestVolumeUnmount",
		            "Source": "/var/lib/docker/volumes/TestVolumeUnmount/_data",
		            "Destination": "/mnt/mqm",
		            "Driver": "local",
		            "Mode": "z",
		            "RW": true,
		            "Propagation": ""
		        }
		    ],
		    "Config": {
		        "Hostname": "0d2fe4f5edbe",
		        "Domainname": "",
		        "User": "",
		        "AttachStdin": false,
		        "AttachStdout": false,
		        "AttachStderr": false,
		        "ExposedPorts": {
		            "1414/tcp": {},
		            "9443/tcp": {}
		        },
		        "Tty": false,
		        "OpenStdin": false,
		        "StdinOnce": false,
		        "Env": [
		            "LICENSE=accept",
		            "MQ_QMGR_NAME=qm1",
		            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
		            "LANG=en_US.UTF-8",
		            "AMQ_DIAGNOSTIC_MSG_SEVERITY=1",
		            "AMQ_ADDITIONAL_JSON_LOG=1",
		            "LOG_FORMAT=basic",
		            "MQ_DEV=true",
		            "MQ_ADMIN_PASSWORD=passw0rd"
		        ],
		        "Cmd": null,
		        "ArgsEscaped": true,
		        "Image": "mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04",
		        "Volumes": null,
		        "WorkingDir": "",
		        "Entrypoint": [
		            "runmqdevserver"
		        ],
		        "OnBuild": null,
		        "Labels": {
		            "IBM_PRODUCT_ID": "98102d16795c4263ad9ca075190a2d4d",
		            "IBM_PRODUCT_NAME": "IBM MQ Advanced for Developers (Non-Warranted)",
		            "IBM_PRODUCT_VERSION": "9.0.5.0"
		        }
		    },
		    "NetworkSettings": {
		        "Bridge": "",
		        "SandboxID": "ac8035262c8c67d56719bba557852cdd9d2b26803b3956a47bb8625bc7e0ef6a",
		        "HairpinMode": false,
		        "LinkLocalIPv6Address": "",
		        "LinkLocalIPv6PrefixLen": 0,
		        "Ports": {
		            "1414/tcp": null,
		            "9443/tcp": null
		        },
		        "SandboxKey": "/var/run/docker/netns/ac8035262c8c",
		        "SecondaryIPAddresses": null,
		        "SecondaryIPv6Addresses": null,
		        "EndpointID": "d3411e83c4aecec2231fb0d6bf3a00465282b53050ee2e32bdac53dda6adf679",
		        "Gateway": "172.17.0.1",
		        "GlobalIPv6Address": "",
		        "GlobalIPv6PrefixLen": 0,
		        "IPAddress": "172.17.0.3",
		        "IPPrefixLen": 16,
		        "IPv6Gateway": "",
		        "MacAddress": "02:42:ac:11:00:03",
		        "Networks": {
		            "bridge": {
		                "IPAMConfig": null,
		                "Links": null,
		                "Aliases": null,
		                "NetworkID": "4b0bc2a4b5af56ea9f48b42bd5579d21e636a9e0c530f35c9bce50366389aefc",
		                "EndpointID": "d3411e83c4aecec2231fb0d6bf3a00465282b53050ee2e32bdac53dda6adf679",
		                "Gateway": "172.17.0.1",
		                "IPAddress": "172.17.0.3",
		                "IPPrefixLen": 16,
		                "IPv6Gateway": "",
		                "GlobalIPv6Address": "",
		                "GlobalIPv6PrefixLen": 0,
		                "MacAddress": "02:42:ac:11:00:03"
		            }
		        }
		    }
		}
	docker_api_test_util.go:184: Stopping container: 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f
	docker_api_test_util.go:192: Container stopped
	docker_api_test_util.go:197: Console log from container 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f:
		2018-05-25T08:31:38.102Z Set password for "admin" user
		2018-05-25T08:31:38.118Z Using queue manager name: qm1
		2018-05-25T08:31:38.118Z CPU architecture: amd64
		2018-05-25T08:31:38.118Z Linux kernel version: 4.4.0-101-generic
		2018-05-25T08:31:38.119Z Base image detected: Ubuntu 16.04.4 LTS
		2018-05-25T08:31:38.119Z Maximum file handles: 761443
		2018-05-25T08:31:38.119Z Running as user ID 0 (root) with primary group 0
		2018-05-25T08:31:38.119Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_ADMIN,SYS_CHROOT
		2018-05-25T08:31:38.119Z Detected 'ext4' volume mounted to /mnt/mqm
		2018-05-25T08:31:38.119Z Detected /mnt/mqm has filesystem type 'ext'
		2018-05-25T08:31:38.138Z Created directory structure under /var/mqm
		2018-05-25T08:31:38.139Z Creating queue manager qm1
		2018-05-25T08:31:38.148Z Starting web server
		2018-05-25T08:31:41.795Z Starting queue manager
		2018-05-25T08:31:39.076Z AMQ6287I: IBM MQ V9.0.5.0 (p905-L180306.DE).
		2018-05-25T08:31:39.073Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-05-25T08:31:39.131Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-05-25T08:31:39.494Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-05-25T08:31:39.520Z AMQ7229I: 4 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-05-25T08:31:39.520Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-05-25T08:31:39.522Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-05-25T08:31:39.524Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-05-25T08:31:39.542Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-05-25T08:31:39.544Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-05-25T08:31:39.664Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.678Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.678Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-05-25T08:31:39.678Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.663Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.663Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.663Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.681Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:39.684Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:41.438Z AMQ8048I: Default objects statistics : 85 created. 0 replaced. 0 failed.
		2018-05-25T08:31:41.445Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-05-25T08:31:41.537Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-05-25T08:31:41.537Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-05-25T08:31:41.581Z AMQ5041I: The queue manager task 'ERROR-LOG' has ended.
		2018-05-25T08:31:41.634Z AMQ5041I: The queue manager task 'CHECKPOINT' has ended.
		2018-05-25T08:31:41.671Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-05-25T08:31:41.749Z AMQ8004I: IBM MQ queue manager 'qm1' ended.
		2018-05-25T08:31:42.092Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-05-25T08:31:42.160Z AMQ7229I: 5 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-05-25T08:31:42.161Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-05-25T08:31:42.166Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-05-25T08:31:42.166Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-05-25T08:31:42.180Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-05-25T08:31:42.202Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.310Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.310Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.312Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-05-25T08:31:42.329Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-05-25T08:31:42.431Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-05-25T08:31:42.438Z AMQ5037I: The queue manager task 'DEFERRED_DELIVERY' has started.
		2018-05-25T08:31:42.446Z AMQ9410I: Repository manager started.
		2018-05-25T08:31:42.477Z AMQ5037I: The queue manager task 'DEFERRED-MSG' has started.
		2018-05-25T08:31:42.489Z AMQ5037I: The queue manager task 'STATISTICS' has started.
		2018-05-25T08:31:42.510Z AMQ5051I: The queue manager task 'ACTVTRC' has started.
		2018-05-25T08:31:42.517Z AMQ5051I: The queue manager task 'ASYNCQ' has started.
		2018-05-25T08:31:42.520Z AMQ5051I: The queue manager task 'EXPIRER' has started.
		2018-05-25T08:31:42.528Z AMQ5051I: The queue manager task 'DUR-SUBS-MGR' has started.
		2018-05-25T08:31:42.561Z AMQ5037I: The queue manager task 'MARKINTSCAN' has started.
		2018-05-25T08:31:42.587Z AMQ5052I: The queue manager task 'QPUBSUB-CTRLR' has started.
		2018-05-25T08:31:42.589Z AMQ5052I: The queue manager task 'QPUBSUB-QUEUE-NLCACHE' has started.
		2018-05-25T08:31:42.597Z AMQ5052I: The queue manager task 'QPUBSUB-SUBPT-NLCACHE' has started.
		2018-05-25T08:31:42.640Z AMQ5051I: The queue manager task 'TOPIC-TREE' has started.
		2018-05-25T08:31:42.641Z AMQ5051I: The queue manager task 'RESOURCE_MONITOR' has started.
		2018-05-25T08:31:42.642Z AMQ5052I: The queue manager task 'PUBSUB-DAEMON' has started.
		2018-05-25T08:31:42.642Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Controller' has started.
		2018-05-25T08:31:42.643Z AMQ5051I: The queue manager task 'Q-DELETION' has started.
		2018-05-25T08:31:42.644Z AMQ5051I: The queue manager task 'PRESERVED-Q' has started.
		2018-05-25T08:31:42.653Z AMQ5051I: The queue manager task 'MULTICAST' has started.
		2018-05-25T08:31:42.670Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Fan Out Task' has started.
		2018-05-25T08:31:42.681Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Command Task' has started.
		2018-05-25T08:31:42.690Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Publish Task' has started.
		2018-05-25T08:31:42.802Z AMQ5022I: The channel initiator has started. ProcessId(543).
		2018-05-25T08:31:42.803Z AMQ5024I: The command server has started. ProcessId(544).
		2018-05-25T08:31:42.916Z Started queue manager
		2018-05-25T08:31:42.804Z AMQ5026I: The listener 'SYSTEM.LISTENER.TCP.1' has started. ProcessId(545).
		2018-05-25T08:31:42.951Z AMQ5806I: Queued Publish/Subscribe Daemon started for queue manager qm1.
		2018-05-25T08:31:43.081Z AMQ8024I: IBM MQ channel initiator started.
		2018-05-25T08:31:43.116Z AMQ5027I: The listener 'SYSTEM.LISTENER.TCP.1' has ended. ProcessId(545).
		2018-05-25T08:31:43.415Z Output for "runmqsc" with /etc/mqm/10-dev.mqsc:
			5724-H72 (C) Copyright IBM Corp. 1994, 2018.
			Starting MQSC for queue manager qm1.
			
			
			       : * © Copyright IBM Corporation 2017, 2018
			       : *
			       : *
			       : * Licensed under the Apache License, Version 2.0 (the "License");
			       : * you may not use this file except in compliance with the License.
			       : * You may obtain a copy of the License at
			       : *
			       : * http://www.apache.org/licenses/LICENSE-2.0
			       : *
			       : * Unless required by applicable law or agreed to in writing, software
			       : * distributed under the License is distributed on an "AS IS" BASIS,
			       : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
			       : * See the License for the specific language governing permissions and
			       : * limitations under the License.
			       : 
			     1 : STOP LISTENER('SYSTEM.LISTENER.TCP.1')
			AMQ8706I: Request to stop IBM MQ Listener accepted.
			       : 
			       : * Developer queues
			     2 : DEFINE QLOCAL('DEV.QUEUE.1') REPLACE
			AMQ8006I: IBM MQ queue created.
			     3 : DEFINE QLOCAL('DEV.QUEUE.2') REPLACE
			AMQ8006I: IBM MQ queue created.
			     4 : DEFINE QLOCAL('DEV.QUEUE.3') REPLACE
			AMQ8006I: IBM MQ queue created.
			     5 : DEFINE QLOCAL('DEV.DEAD.LETTER.QUEUE') REPLACE
			AMQ8006I: IBM MQ queue created.
			       : 
			       : * Use a different dead letter queue, for undeliverable messages
			     6 : ALTER QMGR DEADQ('DEV.DEAD.LETTER.QUEUE')
			AMQ8005I: IBM MQ queue manager changed.
			       : 
			       : * Developer topics
			     7 : DEFINE TOPIC('DEV.BASE.TOPIC') TOPICSTR('dev/') REPLACE
			AMQ8690I: IBM MQ topic created.
			       : 
			       : * Developer connection authentication
			     8 : DEFINE AUTHINFO('DEV.AUTHINFO') AUTHTYPE(IDPWOS) CHCKCLNT(REQDADM) CHCKLOCL(OPTIONAL) ADOPTCTX(YES) REPLACE
			AMQ8563I: IBM MQ authentication information object created.
			     9 : ALTER QMGR CONNAUTH('DEV.AUTHINFO')
			AMQ8005I: IBM MQ queue manager changed.
			    10 : REFRESH SECURITY(*) TYPE(CONNAUTH)
			AMQ8560I: IBM MQ security cache refreshed.
			       : 
			       : * Developer channels (Application + Admin)
			       : * Developer channels (Application + Admin)
			    11 : DEFINE CHANNEL('DEV.ADMIN.SVRCONN') CHLTYPE(SVRCONN) REPLACE
			AMQ8014I: IBM MQ channel created.
			    12 : DEFINE CHANNEL('DEV.APP.SVRCONN') CHLTYPE(SVRCONN) MCAUSER('app') REPLACE
			AMQ8014I: IBM MQ channel created.
			       : 
			       : * Developer channel authentication rules
			    13 : SET CHLAUTH('*') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) DESCR('Back-stop rule - Blocks everyone') ACTION(REPLACE)
			AMQ8877I: IBM MQ channel authentication record set.
			    14 : SET CHLAUTH('DEV.APP.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(CHANNEL) CHCKCLNT(ASQMGR) DESCR('Allows connection via APP channel') ACTION(REPLACE)
			AMQ8877I: IBM MQ channel authentication record set.
			    15 : SET CHLAUTH('DEV.ADMIN.SVRCONN') TYPE(BLOCKUSER) USERLIST('nobody') DESCR('Allows admins on ADMIN channel') ACTION(REPLACE)
			AMQ8877I: IBM MQ channel authentication record set.
			    16 : SET CHLAUTH('DEV.ADMIN.SVRCONN') TYPE(USERMAP) CLNTUSER('admin') USERSRC(CHANNEL) DESCR('Allows admin user to connect via ADMIN channel') ACTION(REPLACE)
			AMQ8877I: IBM MQ channel authentication record set.
			       : 
			       : * Developer authority records
			    17 : SET AUTHREC GROUP('mqclient') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ)
			AMQ8862I: IBM MQ authority record set.
			    18 : SET AUTHREC PROFILE('DEV.**') GROUP('mqclient') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT)
			AMQ8862I: IBM MQ authority record set.
			    19 : SET AUTHREC PROFILE('DEV.**') GROUP('mqclient') OBJTYPE(TOPIC) AUTHADD(PUB,SUB)
			AMQ8862I: IBM MQ authority record set.
			       : 
			       : * Developer listener
			    20 : DEFINE LISTENER('DEV.LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) REPLACE
			AMQ8626I: IBM MQ listener created.
			    21 : START LISTENER('DEV.LISTENER.TCP')
			AMQ8021I: Request to start IBM MQ listener accepted.
			21 MQSC commands read.
			No commands have a syntax error.
			All valid MQSC commands were processed.
			
		2018-05-25T08:31:43.415Z Metrics are disabled
		2018-05-25T08:31:43.392Z AMQ5026I: The listener 'DEV.LISTENER.TCP' has started. ProcessId(628).
		2018-05-25T08:31:44.099Z Error 22 starting web server: Starting server mqweb.
		Server mqweb start failed. Check server logs for details.
		
		2018-05-25T08:31:44.817Z Signal received: terminated
		2018-05-25T08:31:44.817Z Stopping queue manager
		2018-05-25T08:31:44.833Z Error stopping queue manager: AMQ8101S: IBM MQ error (893) has occurred.
		
		2018-05-25T08:31:45.296Z stat /var/mqm/errors/AMQERR01.json: no such file or directory
		2018-05-25T08:31:45.308Z stat /var/mqm/qmgrs/qm1/errors/AMQERR01.json: no such file or directory
	docker_api_test_util.go:161: open /tmp/TestVolumeUnmount-termination-log: no such file or directory
	docker_api_test_util.go:205: Removing container: 0d2fe4f5edbee6bb5341b1db05ba9bf4563950fa90eebc726bad320a62e5866f
	docker_api_test_util.go:435: Removing volume TestVolumeUnmount
FAIL
exit status 1
FAIL	github.com/ibm-messaging/mq-container/test/docker	176.102s
make: *** [test-devserver] Error 1

Rename branchs v9.0.4 & v9.0.5 to 9.0.4 & 9.0.5 to avoid tag conflict

Currently we have two branches called v9.0.4 & v9.0.5. These branches are based off the tags of the same name with a few additional security fixes.

When trying to push to these branches git gets confused whether we are asking to push to the tag or the branch and requires us to provide further information than just git push origin v9.0.4. This opens us up to a mistake which could overwrite the tag as doing a non-standard operation is prone to error.

We should rename the branches to 9.0.4 & 9.0.5 respectively to avoid this conflict.

Create internal package function for `lookupMQM`

The lookupMQM function should be moved to an internal library package (under the internal directory), so it can be referenced from several places.

There are several TODO comments in the code related to this.

[Warning] One or more build-args [IMAGE_SOURCE BUILDER_IMAGE IMAGE_CREATED IMAGE_REVISION] were not consumed

Images are built fine, but I see the warning "[Warning] One or more build-args [IMAGE_SOURCE BUILDER_IMAGE IMAGE_CREATED IMAGE_REVISION] were not consumed" in the build logs.
"incubating/mq-sdk/Dockerfile" doesn't have any ARG variables for "IMAGE_SOURCE BUILDER_IMAGE IMAGE_CREATED IMAGE_REVISION".

make MQ_VERSION=9.0.5.0 build-advancedserver

Step 10/10 : LABEL "IBM_PRODUCT_ID"='98102d16795c4263ad9ca075190a2d4d' "IBM_PRODUCT_NAME"='IBM MQ Advanced for Developers SDK (Non-Warranted)' "IBM_PRODUCT_VERSION"='9.0.5.0'
---> Running in 773c97513a1d
Removing intermediate container 773c97513a1d
---> 7a6851225356
[Warning] One or more build-args [IMAGE_SOURCE BUILDER_IMAGE IMAGE_CREATED IMAGE_REVISION] were not consumed
Successfully built 7a6851225356
Successfully tagged mq-sdk:9.0.5.0-x86_64-ubuntu-16.04

Master build break: TestSecurityVulnerabilities

Failing packages:

  • gcc-5-base
  • libstdc++6

Inst gcc-5-base [5.4.0-6ubuntu1\~16.04.9] (5.4.0-6ubuntu1\~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]
Conf gcc-5-base (5.4.0-6ubuntu1\~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]

Inst libstdc++6 [5.4.0-6ubuntu1\~16.04.9] (5.4.0-6ubuntu1\~16.04.10 Ubuntu:16.04/xenial-security [amd64])
Conf libstdc++6 (5.4.0-6ubuntu1\~16.04.10 Ubuntu:16.04/xenial-security [amd64])

Raw test output

�[34m�[1m�[4mTest mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 on Docker version 18.05.0-ce, build f150324�[0m
cd test/docker && TEST_IMAGE=mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=mq-dev-jms-test go test -parallel 2 -tags mqdev 
--- FAIL: TestSecurityVulnerabilities (3.00s)
	docker_api_test_util.go:241: Running container (mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04)
	docker_api_test_util.go:267: Starting container: f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9
	docker_api_test_util.go:176: Inspected container f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9: types.ContainerJSON{ContainerJSONBase:(*types.ContainerJSONBase)(0xc4201b69a0), Mounts:[]types.MountPoint{types.MountPoint{Type:"bind", Name:"", Source:"/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage", Destination:"/var/coverage", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}, types.MountPoint{Type:"bind", Name:"", Source:"/tmp/TestSecurityVulnerabilities-termination-log", Destination:"/dev/termination-log", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}}, Config:(*container.Config)(0xc4200e8000), NetworkSettings:(*types.NetworkSettings)(0xc4201a6700)}
	docker_api_test_util.go:181: Inspected container f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9: {
		    "Id": "f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9",
		    "Created": "2018-06-28T10:12:42.034636941Z",
		    "Path": "bash",
		    "Args": [
		        "-c",
		        "test -d /etc/apt"
		    ],
		    "State": {
		        "Status": "exited",
		        "Running": false,
		        "Paused": false,
		        "Restarting": false,
		        "OOMKilled": false,
		        "Dead": false,
		        "Pid": 0,
		        "ExitCode": 0,
		        "Error": "",
		        "StartedAt": "2018-06-28T10:12:42.400803008Z",
		        "FinishedAt": "2018-06-28T10:12:42.443692921Z"
		    },
		    "Image": "sha256:cb1fa659a264397ff237a977d7e0188cfd2ac56da130f968a9cc286760e3a013",
		    "ResolvConfPath": "/var/lib/docker/containers/f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9/resolv.conf",
		    "HostnamePath": "/var/lib/docker/containers/f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9/hostname",
		    "HostsPath": "/var/lib/docker/containers/f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9/hosts",
		    "LogPath": "/var/lib/docker/containers/f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9/f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9-json.log",
		    "Name": "/TestSecurityVulnerabilities",
		    "RestartCount": 0,
		    "Driver": "overlay2",
		    "MountLabel": "",
		    "ProcessLabel": "",
		    "AppArmorProfile": "",
		    "ExecIDs": null,
		    "HostConfig": {
		        "Binds": [
		            "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage:/var/coverage",
		            "/tmp/TestSecurityVulnerabilities-termination-log:/dev/termination-log"
		        ],
		        "ContainerIDFile": "",
		        "LogConfig": {
		            "Type": "json-file",
		            "Config": {}
		        },
		        "NetworkMode": "default",
		        "PortBindings": {},
		        "RestartPolicy": {
		            "Name": "",
		            "MaximumRetryCount": 0
		        },
		        "AutoRemove": false,
		        "VolumeDriver": "",
		        "VolumesFrom": null,
		        "CapAdd": null,
		        "CapDrop": null,
		        "Dns": null,
		        "DnsOptions": null,
		        "DnsSearch": null,
		        "ExtraHosts": null,
		        "GroupAdd": null,
		        "IpcMode": "shareable",
		        "Cgroup": "",
		        "Links": null,
		        "OomScoreAdj": 0,
		        "PidMode": "",
		        "Privileged": false,
		        "PublishAllPorts": false,
		        "ReadonlyRootfs": false,
		        "SecurityOpt": null,
		        "UTSMode": "",
		        "UsernsMode": "",
		        "ShmSize": 67108864,
		        "Runtime": "runc",
		        "ConsoleSize": [
		            0,
		            0
		        ],
		        "Isolation": "",
		        "CpuShares": 0,
		        "Memory": 0,
		        "NanoCpus": 0,
		        "CgroupParent": "",
		        "BlkioWeight": 0,
		        "BlkioWeightDevice": null,
		        "BlkioDeviceReadBps": null,
		        "BlkioDeviceWriteBps": null,
		        "BlkioDeviceReadIOps": null,
		        "BlkioDeviceWriteIOps": null,
		        "CpuPeriod": 0,
		        "CpuQuota": 0,
		        "CpuRealtimePeriod": 0,
		        "CpuRealtimeRuntime": 0,
		        "CpusetCpus": "",
		        "CpusetMems": "",
		        "Devices": null,
		        "DiskQuota": 0,
		        "KernelMemory": 0,
		        "MemoryReservation": 0,
		        "MemorySwap": 0,
		        "MemorySwappiness": null,
		        "OomKillDisable": false,
		        "PidsLimit": 0,
		        "Ulimits": null,
		        "CpuCount": 0,
		        "CpuPercent": 0,
		        "IOMaximumIOps": 0,
		        "IOMaximumBandwidth": 0
		    },
		    "GraphDriver": {
		        "Name": "overlay2",
		        "Data": {
		            "LowerDir": "/var/lib/docker/overlay2/0a9ea3119177fd97fe22d358592528eaf3e040f57877120aba954c0ee547b9d8-init/diff:/var/lib/docker/overlay2/d7eef2af9da5d2ce0ac43d7298d4be6b4c01e624ca9046ed6db032d93d517d65/diff:/var/lib/docker/overlay2/2efeef6cbab303e95e3102d84f9a78c5982ad7076ef8c9cdadff2c1cc688de15/diff:/var/lib/docker/overlay2/dc1f50ef05ee78c204d2e74f0df72283efd6d2279b2d288b2c93940b8ffb5d5b/diff:/var/lib/docker/overlay2/dd1c51912cdefd6fbf2855224fdde905110864886f897a8a98a6a60b803fa2a7/diff:/var/lib/docker/overlay2/a9180dcf1e5f153906b869b4ea826dc1505ad75a572a4dff0eb5d0615781ecc9/diff:/var/lib/docker/overlay2/4ecbd385138fc1c2b1018a60d9927103015d01bf63b677e4661619a92ad5ed99/diff:/var/lib/docker/overlay2/2ced635755b44641e42db3ab35ae99f10a84be633db57dc329a6960b00230829/diff:/var/lib/docker/overlay2/ce6f651904551c7dd1f7d43a13d3aca935edd55874021bb6ad2ea339171c1ec5/diff:/var/lib/docker/overlay2/094329c596234d433b23c0efce9499cd0615fda24e48e8c09850c5689d1f734d/diff:/var/lib/docker/overlay2/2826d6b61a8b6874f9380155cbad77a11c6b2ce83f85d8801bdb49fc066ff908/diff:/var/lib/docker/overlay2/3f4c3bd04e05c1b8c2faf06713abdb11b5b499560d3b2c44ecb3a9172176db13/diff:/var/lib/docker/overlay2/eaf75f728cf45efde479c68005829b8b43e8ddf457f2abac385ee3c2c2199efc/diff:/var/lib/docker/overlay2/5b4165dffb5e2b711ce1e3627709794d79f0c347c726fbb3939e57c29db6d0ed/diff:/var/lib/docker/overlay2/8cd831f3d475960de94fe473675f636ae20db85fe3caf02b1688925ac6f07784/diff:/var/lib/docker/overlay2/3aa78a468a1415d14f950b4a40a62356a23bef2ca80556de5e6d86175c389f95/diff:/var/lib/docker/overlay2/edba18d11daa221e873dc0cafd4d76325090394929877feecf8126b6da19b4bc/diff:/var/lib/docker/overlay2/5bccb062e9ff1cd164091d6124fe5d3285255d8476951817192cd9a6e15b6c30/diff:/var/lib/docker/overlay2/a21bdeeb10e6fd3a7d7388f641f66426a7faee979b45d723de0368f6a8b2f129/diff:/var/lib/docker/overlay2/96c2f2a31da2714ceae99ba2eca9b841c9cb6555e236f8933412cda3a35e6252/diff",
		            "MergedDir": "/var/lib/docker/overlay2/0a9ea3119177fd97fe22d358592528eaf3e040f57877120aba954c0ee547b9d8/merged",
		            "UpperDir": "/var/lib/docker/overlay2/0a9ea3119177fd97fe22d358592528eaf3e040f57877120aba954c0ee547b9d8/diff",
		            "WorkDir": "/var/lib/docker/overlay2/0a9ea3119177fd97fe22d358592528eaf3e040f57877120aba954c0ee547b9d8/work"
		        }
		    },
		    "Mounts": [
		        {
		            "Type": "bind",
		            "Source": "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage",
		            "Destination": "/var/coverage",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        },
		        {
		            "Type": "bind",
		            "Source": "/tmp/TestSecurityVulnerabilities-termination-log",
		            "Destination": "/dev/termination-log",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        }
		    ],
		    "Config": {
		        "Hostname": "f65a05dc90c1",
		        "Domainname": "",
		        "User": "",
		        "AttachStdin": false,
		        "AttachStdout": false,
		        "AttachStderr": false,
		        "ExposedPorts": {
		            "1414/tcp": {},
		            "9157/tcp": {},
		            "9443/tcp": {}
		        },
		        "Tty": false,
		        "OpenStdin": false,
		        "StdinOnce": false,
		        "Env": [
		            "COVERAGE_FILE=TestSecurityVulnerabilities.cov",
		            "EXIT_CODE_FILE=TestSecurityVulnerabilitiesExitCode",
		            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
		            "LANG=en_US.UTF-8",
		            "AMQ_DIAGNOSTIC_MSG_SEVERITY=1",
		            "AMQ_ADDITIONAL_JSON_LOG=1",
		            "LOG_FORMAT=basic",
		            "MQ_DEV=true",
		            "MQ_ADMIN_PASSWORD=passw0rd"
		        ],
		        "Cmd": null,
		        "Image": "mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04",
		        "Volumes": null,
		        "WorkingDir": "",
		        "Entrypoint": [
		            "bash",
		            "-c",
		            "test -d /etc/apt"
		        ],
		        "OnBuild": null,
		        "Labels": {
		            "IBM_PRODUCT_ID": "98102d16795c4263ad9ca075190a2d4d",
		            "IBM_PRODUCT_NAME": "IBM MQ Advanced for Developers (Non-Warranted)",
		            "IBM_PRODUCT_VERSION": "9.0.5.0"
		        }
		    },
		    "NetworkSettings": {
		        "Bridge": "",
		        "SandboxID": "3142b5cfa11cda0b6dfa712d0efcbf9028efd0c4e0b5221e806acf45f31f3e32",
		        "HairpinMode": false,
		        "LinkLocalIPv6Address": "",
		        "LinkLocalIPv6PrefixLen": 0,
		        "Ports": {},
		        "SandboxKey": "/var/run/docker/netns/3142b5cfa11c",
		        "SecondaryIPAddresses": null,
		        "SecondaryIPv6Addresses": null,
		        "EndpointID": "",
		        "Gateway": "",
		        "GlobalIPv6Address": "",
		        "GlobalIPv6PrefixLen": 0,
		        "IPAddress": "",
		        "IPPrefixLen": 0,
		        "IPv6Gateway": "",
		        "MacAddress": "",
		        "Networks": {
		            "bridge": {
		                "IPAMConfig": null,
		                "Links": null,
		                "Aliases": null,
		                "NetworkID": "b0f7ebe61a150e0e336d8ed3c431e30eda620dc442413ea0ca78f41334878846",
		                "EndpointID": "",
		                "Gateway": "",
		                "IPAddress": "",
		                "IPPrefixLen": 0,
		                "IPv6Gateway": "",
		                "GlobalIPv6Address": "",
		                "GlobalIPv6PrefixLen": 0,
		                "MacAddress": ""
		            }
		        }
		    }
		}
	docker_api_test_util.go:183: Stopping container: f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9
	docker_api_test_util.go:191: Container stopped
	docker_api_test_util.go:196: Console log from container f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9:
		
	docker_api_test_util.go:204: Removing container: f65a05dc90c192b0f3983f38f7739798e99b9d45d0b811289f55a821af26dee9
	docker_api_test_util.go:241: Running container (mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04)
	docker_api_test_util.go:267: Starting container: e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732
	docker_api_test_util.go:176: Inspected container e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732: types.ContainerJSON{ContainerJSONBase:(*types.ContainerJSONBase)(0xc4202ca6e0), Mounts:[]types.MountPoint{types.MountPoint{Type:"bind", Name:"", Source:"/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage", Destination:"/var/coverage", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}, types.MountPoint{Type:"bind", Name:"", Source:"/tmp/TestSecurityVulnerabilities-termination-log", Destination:"/dev/termination-log", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}}, Config:(*container.Config)(0xc4200e8000), NetworkSettings:(*types.NetworkSettings)(0xc4201b5b00)}
	docker_api_test_util.go:181: Inspected container e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732: {
		    "Id": "e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732",
		    "Created": "2018-06-28T10:12:42.667282562Z",
		    "Path": "bash",
		    "Args": [
		        "-c",
		        "source /etc/os-release \u0026\u0026 echo \"deb http://security.ubuntu.com/ubuntu/ ${VERSION_CODENAME}-security main restricted\" \u003e /etc/apt/sources.list \u0026\u0026 apt-get update 2\u003e\u00261 \u003e/dev/null \u0026\u0026 apt-get --simulate -qq upgrade"
		    ],
		    "State": {
		        "Status": "exited",
		        "Running": false,
		        "Paused": false,
		        "Restarting": false,
		        "OOMKilled": false,
		        "Dead": false,
		        "Pid": 0,
		        "ExitCode": 0,
		        "Error": "",
		        "StartedAt": "2018-06-28T10:12:43.222295779Z",
		        "FinishedAt": "2018-06-28T10:12:44.748793995Z"
		    },
		    "Image": "sha256:cb1fa659a264397ff237a977d7e0188cfd2ac56da130f968a9cc286760e3a013",
		    "ResolvConfPath": "/var/lib/docker/containers/e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732/resolv.conf",
		    "HostnamePath": "/var/lib/docker/containers/e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732/hostname",
		    "HostsPath": "/var/lib/docker/containers/e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732/hosts",
		    "LogPath": "/var/lib/docker/containers/e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732/e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732-json.log",
		    "Name": "/TestSecurityVulnerabilities",
		    "RestartCount": 0,
		    "Driver": "overlay2",
		    "MountLabel": "",
		    "ProcessLabel": "",
		    "AppArmorProfile": "",
		    "ExecIDs": null,
		    "HostConfig": {
		        "Binds": [
		            "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage:/var/coverage",
		            "/tmp/TestSecurityVulnerabilities-termination-log:/dev/termination-log"
		        ],
		        "ContainerIDFile": "",
		        "LogConfig": {
		            "Type": "json-file",
		            "Config": {}
		        },
		        "NetworkMode": "default",
		        "PortBindings": {},
		        "RestartPolicy": {
		            "Name": "",
		            "MaximumRetryCount": 0
		        },
		        "AutoRemove": false,
		        "VolumeDriver": "",
		        "VolumesFrom": null,
		        "CapAdd": null,
		        "CapDrop": null,
		        "Dns": null,
		        "DnsOptions": null,
		        "DnsSearch": null,
		        "ExtraHosts": null,
		        "GroupAdd": null,
		        "IpcMode": "shareable",
		        "Cgroup": "",
		        "Links": null,
		        "OomScoreAdj": 0,
		        "PidMode": "",
		        "Privileged": false,
		        "PublishAllPorts": false,
		        "ReadonlyRootfs": false,
		        "SecurityOpt": null,
		        "UTSMode": "",
		        "UsernsMode": "",
		        "ShmSize": 67108864,
		        "Runtime": "runc",
		        "ConsoleSize": [
		            0,
		            0
		        ],
		        "Isolation": "",
		        "CpuShares": 0,
		        "Memory": 0,
		        "NanoCpus": 0,
		        "CgroupParent": "",
		        "BlkioWeight": 0,
		        "BlkioWeightDevice": null,
		        "BlkioDeviceReadBps": null,
		        "BlkioDeviceWriteBps": null,
		        "BlkioDeviceReadIOps": null,
		        "BlkioDeviceWriteIOps": null,
		        "CpuPeriod": 0,
		        "CpuQuota": 0,
		        "CpuRealtimePeriod": 0,
		        "CpuRealtimeRuntime": 0,
		        "CpusetCpus": "",
		        "CpusetMems": "",
		        "Devices": null,
		        "DiskQuota": 0,
		        "KernelMemory": 0,
		        "MemoryReservation": 0,
		        "MemorySwap": 0,
		        "MemorySwappiness": null,
		        "OomKillDisable": false,
		        "PidsLimit": 0,
		        "Ulimits": null,
		        "CpuCount": 0,
		        "CpuPercent": 0,
		        "IOMaximumIOps": 0,
		        "IOMaximumBandwidth": 0
		    },
		    "GraphDriver": {
		        "Name": "overlay2",
		        "Data": {
		            "LowerDir": "/var/lib/docker/overlay2/29018cb311ab1779bb1743bd63e7ad02cf348ebf7fdf47be9adef39b1c2cb9ab-init/diff:/var/lib/docker/overlay2/d7eef2af9da5d2ce0ac43d7298d4be6b4c01e624ca9046ed6db032d93d517d65/diff:/var/lib/docker/overlay2/2efeef6cbab303e95e3102d84f9a78c5982ad7076ef8c9cdadff2c1cc688de15/diff:/var/lib/docker/overlay2/dc1f50ef05ee78c204d2e74f0df72283efd6d2279b2d288b2c93940b8ffb5d5b/diff:/var/lib/docker/overlay2/dd1c51912cdefd6fbf2855224fdde905110864886f897a8a98a6a60b803fa2a7/diff:/var/lib/docker/overlay2/a9180dcf1e5f153906b869b4ea826dc1505ad75a572a4dff0eb5d0615781ecc9/diff:/var/lib/docker/overlay2/4ecbd385138fc1c2b1018a60d9927103015d01bf63b677e4661619a92ad5ed99/diff:/var/lib/docker/overlay2/2ced635755b44641e42db3ab35ae99f10a84be633db57dc329a6960b00230829/diff:/var/lib/docker/overlay2/ce6f651904551c7dd1f7d43a13d3aca935edd55874021bb6ad2ea339171c1ec5/diff:/var/lib/docker/overlay2/094329c596234d433b23c0efce9499cd0615fda24e48e8c09850c5689d1f734d/diff:/var/lib/docker/overlay2/2826d6b61a8b6874f9380155cbad77a11c6b2ce83f85d8801bdb49fc066ff908/diff:/var/lib/docker/overlay2/3f4c3bd04e05c1b8c2faf06713abdb11b5b499560d3b2c44ecb3a9172176db13/diff:/var/lib/docker/overlay2/eaf75f728cf45efde479c68005829b8b43e8ddf457f2abac385ee3c2c2199efc/diff:/var/lib/docker/overlay2/5b4165dffb5e2b711ce1e3627709794d79f0c347c726fbb3939e57c29db6d0ed/diff:/var/lib/docker/overlay2/8cd831f3d475960de94fe473675f636ae20db85fe3caf02b1688925ac6f07784/diff:/var/lib/docker/overlay2/3aa78a468a1415d14f950b4a40a62356a23bef2ca80556de5e6d86175c389f95/diff:/var/lib/docker/overlay2/edba18d11daa221e873dc0cafd4d76325090394929877feecf8126b6da19b4bc/diff:/var/lib/docker/overlay2/5bccb062e9ff1cd164091d6124fe5d3285255d8476951817192cd9a6e15b6c30/diff:/var/lib/docker/overlay2/a21bdeeb10e6fd3a7d7388f641f66426a7faee979b45d723de0368f6a8b2f129/diff:/var/lib/docker/overlay2/96c2f2a31da2714ceae99ba2eca9b841c9cb6555e236f8933412cda3a35e6252/diff",
		            "MergedDir": "/var/lib/docker/overlay2/29018cb311ab1779bb1743bd63e7ad02cf348ebf7fdf47be9adef39b1c2cb9ab/merged",
		            "UpperDir": "/var/lib/docker/overlay2/29018cb311ab1779bb1743bd63e7ad02cf348ebf7fdf47be9adef39b1c2cb9ab/diff",
		            "WorkDir": "/var/lib/docker/overlay2/29018cb311ab1779bb1743bd63e7ad02cf348ebf7fdf47be9adef39b1c2cb9ab/work"
		        }
		    },
		    "Mounts": [
		        {
		            "Type": "bind",
		            "Source": "/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/coverage",
		            "Destination": "/var/coverage",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        },
		        {
		            "Type": "bind",
		            "Source": "/tmp/TestSecurityVulnerabilities-termination-log",
		            "Destination": "/dev/termination-log",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        }
		    ],
		    "Config": {
		        "Hostname": "e23371d35b8e",
		        "Domainname": "",
		        "User": "",
		        "AttachStdin": false,
		        "AttachStdout": false,
		        "AttachStderr": false,
		        "ExposedPorts": {
		            "1414/tcp": {},
		            "9157/tcp": {},
		            "9443/tcp": {}
		        },
		        "Tty": false,
		        "OpenStdin": false,
		        "StdinOnce": false,
		        "Env": [
		            "COVERAGE_FILE=TestSecurityVulnerabilities.cov",
		            "EXIT_CODE_FILE=TestSecurityVulnerabilitiesExitCode",
		            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
		            "LANG=en_US.UTF-8",
		            "AMQ_DIAGNOSTIC_MSG_SEVERITY=1",
		            "AMQ_ADDITIONAL_JSON_LOG=1",
		            "LOG_FORMAT=basic",
		            "MQ_DEV=true",
		            "MQ_ADMIN_PASSWORD=passw0rd"
		        ],
		        "Cmd": null,
		        "Image": "mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04",
		        "Volumes": null,
		        "WorkingDir": "",
		        "Entrypoint": [
		            "bash",
		            "-c",
		            "source /etc/os-release \u0026\u0026 echo \"deb http://security.ubuntu.com/ubuntu/ ${VERSION_CODENAME}-security main restricted\" \u003e /etc/apt/sources.list \u0026\u0026 apt-get update 2\u003e\u00261 \u003e/dev/null \u0026\u0026 apt-get --simulate -qq upgrade"
		        ],
		        "OnBuild": null,
		        "Labels": {
		            "IBM_PRODUCT_ID": "98102d16795c4263ad9ca075190a2d4d",
		            "IBM_PRODUCT_NAME": "IBM MQ Advanced for Developers (Non-Warranted)",
		            "IBM_PRODUCT_VERSION": "9.0.5.0"
		        }
		    },
		    "NetworkSettings": {
		        "Bridge": "",
		        "SandboxID": "216d1f7d9530e7d67ce0cbe9e038c83b77ac964b09ccefc9b63a4eea601e121b",
		        "HairpinMode": false,
		        "LinkLocalIPv6Address": "",
		        "LinkLocalIPv6PrefixLen": 0,
		        "Ports": {},
		        "SandboxKey": "/var/run/docker/netns/216d1f7d9530",
		        "SecondaryIPAddresses": null,
		        "SecondaryIPv6Addresses": null,
		        "EndpointID": "",
		        "Gateway": "",
		        "GlobalIPv6Address": "",
		        "GlobalIPv6PrefixLen": 0,
		        "IPAddress": "",
		        "IPPrefixLen": 0,
		        "IPv6Gateway": "",
		        "MacAddress": "",
		        "Networks": {
		            "bridge": {
		                "IPAMConfig": null,
		                "Links": null,
		                "Aliases": null,
		                "NetworkID": "b0f7ebe61a150e0e336d8ed3c431e30eda620dc442413ea0ca78f41334878846",
		                "EndpointID": "",
		                "Gateway": "",
		                "IPAddress": "",
		                "IPPrefixLen": 0,
		                "IPv6Gateway": "",
		                "GlobalIPv6Address": "",
		                "GlobalIPv6PrefixLen": 0,
		                "MacAddress": ""
		            }
		        }
		    }
		}
	docker_api_test_util.go:183: Stopping container: e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732
	docker_api_test_util.go:191: Container stopped
	docker_api_test_util.go:196: Console log from container e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732:
		Inst gcc-5-base [5.4.0-6ubuntu1~16.04.9] (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]
		Conf gcc-5-base (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]
		Inst libstdc++6 [5.4.0-6ubuntu1~16.04.9] (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64])
		Conf libstdc++6 (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64])
	docker_api_test_util.go:204: Removing container: e23371d35b8eb0315e9e1efde1121f124075c4b204f6ab4a76f9f2da01fd1732
	docker_api_test.go:134: Expected no vulnerabilities, found the following:
		Inst gcc-5-base [5.4.0-6ubuntu1~16.04.9] (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]
		Conf gcc-5-base (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64]) [libstdc++6:amd64 ]
		Inst libstdc++6 [5.4.0-6ubuntu1~16.04.9] (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64])
		Conf libstdc++6 (5.4.0-6ubuntu1~16.04.10 Ubuntu:16.04/xenial-security [amd64])

Termination log message for all errors

Some errors are handled with a log.Fatal, which means they will end the process immediately, and not write to /dev/termination-log. Functions should instead return an error which can be processed properly.

Null pointer in test in dev branch

Build 193

output

Test mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 on Docker version 18.05.0-ce, build f150324
cd test/docker && TEST_IMAGE=mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 DEV_JMS_IMAGE=mq-dev-jms-test go test -parallel 2 -tags mqdev 
--- FAIL: TestCreateQueueManagerFail (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb0 pc=0x6a03d0]
goroutine 32 [running]:
testing.tRunner.func1(0xc4202e0c30)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:742 +0x29d
panic(0x6f5d80, 0xae1c20)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/panic.go:505 +0x229
github.com/ibm-messaging/mq-container/test/docker.TestCreateQueueManagerFail(0xc4202e0c30)
	/home/travis/gopath/src/github.com/ibm-messaging/mq-container/test/docker/docker_api_test.go:214 +0x170
testing.tRunner(0xc4202e0c30, 0x76f0d8)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:824 +0x2e0
exit status 2
FAIL	github.com/ibm-messaging/mq-container/test/docker	0.011s
make: *** [test-devserver] Error 1

config

{
  "go": "1.10",
  "os": "linux",
  "env": "DOCKER_DOWNGRADE=\"echo nothing to be done\"",
  "dist": "trusty",
  "jobs": {
    "include": [
      {
        "if": "type IN (pull_request)",
        "env": "DOCKER_DOWNGRADE=\"docker save -o images.tar mqadvanced-server-dev mq-dev-jms-test && sudo apt-get autoremove -y docker-ce && curl -fsSL \\\"https://apt.dockerproject.org/gpg\\\" | sudo apt-key add - && sudo apt-add-repository \\\"deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main\\\" && sudo apt-get update && sudo apt-get install docker-engine=1.12.6-0~ubuntu-$(lsb_release -cs) && docker load -q -i images.tar && export DOCKER_API_VERSION=\\\"1.24\\\"\""
      },
      {
        "env": "DOCKER_DOWNGRADE=\"echo nothing to be done\""
      }
    ]
  },
  "sudo": "required",
  "cache": {
    "directories": [
      "downloads"
    ]
  },
  "group": "stable",
  "script": [
    "make deps",
    "make vet",
    "make build-devserver",
    "make build-devjmstest",
    "eval \"$DOCKER_DOWNGRADE\"",
    "make test-devserver"
  ],
  "install": [
    "echo nothing"
  ],
  "language": "go",
  "services": [
    "docker"
  ],
  "after_success": [
    "go get golang.org/x/lint/golint",
    "make lint"
  ],
  "before_install": [
    "curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -",
    "sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"",
    "sudo apt-get update",
    "sudo apt-get -y install docker-ce",
    "curl https://glide.sh/get | sh",
    "sudo curl -Lo /usr/local/bin/dep https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64",
    "sudo chmod +x /usr/local/bin/dep"
  ],
  "go_import_path": "github.com/ibm-messaging/mq-container"
}

Unable to use REST Messaging API

Using the default MQ developer configuration, running

curl -i -k https://localhost:1234/ibmmq/rest/v1/messaging/qmgr/qm1/queue/DEV.QUEUE.1/message -X POST -u app -H “ibm-mq-rest-csrf-token: N/A” -H “Content-Type: text/plain;charset=utf-8" -d “Hello World”

Returns

{"error": [{
  "action": "Provide valid credentials or use another form of authentication such as a client certificate.",
  "completionCode": 0,
  "explanation": "The REST API request failed due to incorrect username and password credentials.",
  "message": "MQWB0105E: HTTP basic authentication failed.",
  "msgId": "MQWB0105E",
  "reasonCode": 0,
  "type": "rest"
}]}

The REST admin api and console are working. Adding a definition for the app user in the /var/mqm/web/installations/Installation1/servers/mqweb/mqwebuser.xml file resolves the issue

<enterpriseApplication id="com.ibm.mq.rest">
        <application-bnd>
            <security-role name="MQWebAdmin">
                <group name="MQWebUI" realm="defaultRealm"/>
            </security-role>
            <security-role name="MQWebUser">
                <group name="MQWebMessaging" realm="defaultRealm"/>
            </security-role>
        </application-bnd>
    </enterpriseApplication>
    <basicRegistry id="basic" realm="defaultRealm">
        <user name="admin" password="${env.MQ_ADMIN_PASSWORD}"/>
        <user name="app" password="${env.MQ_APP_PASSWORD}"/>
        <group name="MQWebUI">
            <member name="admin"/>
        </group>
        <group name="MQWebMessaging">
            <member name="app"/>
        </group>
    </basicRegistry>

MQSC errors when using TLS in dev image

When you attempt to start a queue manager with TLS configured we see the following errors in the logs during the Output for "runmqsc" with /etc/mqm/20-dev-tls.mqsc step:

	       : * Set the cipherspec for dev channels
	     3 : ALTER CHANNEL('DEV.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH() SSLCAUTH(OPTIONAL)
	AMQ8405I: Syntax error detected at or near end of command segment below:-
	ALTER CHANNEL('DEV.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH()
	
	AMQ8427I: Valid syntax for the MQSC command:
	
	  ALTER CHANNEL( channel_name )
	   CHLTYPE( SVRCONN )                                                         
	   [ CERTLABL( string ) ]                  [ COMPHDR( NONE | SYSTEM ) ]        
	   [ COMPMSG( NONE | RLE | ZLIBFAST | ZLIBHIGH | ANY ) ]                       
	   [ DESCR( string ) ]                     [ DISCINT( integer ) ]              
	   [ HBINT( integer ) ]                                                        
	   [ KAINT( AUTO | integer ) ]                                                 
	   [ MAXINST( integer ) ]                  [ MAXINSTC( integer ) ]             
	   [ MAXMSGL( integer ) ]                  [ MCAUSER( string ) ]               
	   [ MONCHL( QMGR | OFF | LOW | MEDIUM | HIGH ) ]                              
	   [ RCVDATA( string ) ]                   [ RCVEXIT( string ) ]               
	   [ SCYDATA( string ) ]                   [ SCYEXIT( string ) ]               
	   [ SENDDATA( string ) ]                  [ SENDEXIT( string ) ]              
	   [ SHARECNV( integer ) ]                 [ SSLCAUTH( REQUIRED | OPTIONAL ) ] 
	   [ SSLCIPH( string ) ]                   [ SSLPEER( string ) ]               
	   [ TRPTYPE( LU62 | TCP ) ]             
	     4 : ALTER CHANNEL('DEV.ADMIN.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH() SSLCAUTH(OPTIONAL)
	AMQ8405I: Syntax error detected at or near end of command segment below:-
	ALTER CHANNEL('DEV.ADMIN.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH()
	
	AMQ8427I: Valid syntax for the MQSC command:
	
	  ALTER CHANNEL( channel_name )
	   CHLTYPE( SVRCONN )                                                         
	   [ CERTLABL( string ) ]                  [ COMPHDR( NONE | SYSTEM ) ]        
	   [ COMPMSG( NONE | RLE | ZLIBFAST | ZLIBHIGH | ANY ) ]                       
	   [ DESCR( string ) ]                     [ DISCINT( integer ) ]              
	   [ HBINT( integer ) ]                                                        
	   [ KAINT( AUTO | integer ) ]                                                 
	   [ MAXINST( integer ) ]                  [ MAXINSTC( integer ) ]             
	   [ MAXMSGL( integer ) ]                  [ MCAUSER( string ) ]               
	   [ MONCHL( QMGR | OFF | LOW | MEDIUM | HIGH ) ]                              
	   [ RCVDATA( string ) ]                   [ RCVEXIT( string ) ]               
	   [ SCYDATA( string ) ]                   [ SCYEXIT( string ) ]               
	   [ SENDDATA( string ) ]                  [ SENDEXIT( string ) ]              
	   [ SHARECNV( integer ) ]                 [ SSLCAUTH( REQUIRED | OPTIONAL ) ] 
	   [ SSLCIPH( string ) ]                   [ SSLPEER( string ) ]               
	   [ TRPTYPE( LU62 | TCP ) ]             

Ensure everything passes golint and govet

There are two parts to this:

  1. Add rules to the makefile for linting and vetting, which makes sure all the directories with Go source are included
  2. Fix any errors which are indicated (mostly just package comments)

The "go vet" rule and possibly a "go fmt" rule should also be added to a "precommit" rule, along with building and testing everything.

Developer environment variables

The environment variables in the readme do not include those for the developer image as listed in docs/developer-config. Rather than add them to the readme, it would be good to add a reference to that doc from the readme.

Introducing the concept of the production and developer images in the readme would also help to make things clearer.

Issue with LTS container

After pulling and running the ibmcom/mq:9-lts or /mq:lts container, I'm unable to access the web interface.

I tried on docker for Windows 10, as well as on Ubuntu 16.04.4 LTS

Attempting to use curl on the exposed port resulted in the following:

steven@hostname:~$ curl -v -k https://localhost:9443/ibmmq/console

*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 9443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: The TLS connection was non-properly terminated.
* Closing connection 0
curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated.

steven@hostname~$ curl -v -k http://localhost:9443/ibmmq/console

*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 9443 (#0)
> GET /ibmmq/console HTTP/1.1
> Host: localhost:9443
> User-Agent: curl/7.47.0
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer

Seems that the internal listener for the container is not receiving to requests passed through the exposed port.

However, the ibmcom/mq:latest container IS functional

We need a smarter way of checking return codes from MQSC scripts

COPIED FROM https://github.com/ibm-messaging/mq-docker/issues/47

Currently we use set +e to turn off script error checking before we run all of the MQSC scripts the user has supplied. Once that has finished we turn script error checking back on using set -e.

This isn't ideal as it means that serious errors with people's scripts (such as syntax errors) do not get picked up and could cause confusion such as where is that object i tried to create?. We had to add it in because on multiple starts the START LISTENER(<LISTENER>) command (where the was created with CONTROL(QMGR) fails with the listener is already active error. (which isn't really an error)

What we need is some way to check the error codes returned by MQSC and error out if a serious error happens and continue if a warning style error happens

Ensure compatibility with older Docker versions

Docker V17.06 is needed to build the image (due to use of multi-stage builds), but the resulting image should still work on older versions of Docker (ideally back to Docker V1.12). We need to add the ability to test this via Travis.

It would be nice to have a pre-defined location where config maps containing MQSC could be mounted and executed

It doesn't appear to be possible to add a file into an existing directory using a config map. So if you mount a config map (in my case based on an mqsc file) to /etc/mqm the rest of the /etc/mqm directory is shadowed and 10-dev.mqsc can't be found when the container starts.

One way to fix this could be to have a predefined path (or paths) that don't currently exist, but that users can mount config maps to. At runtime we could check for them and run any mqsc files we find, separately to the dev scripts we already ship.

There might be other/better ways of doing it though.

Container with SSL cannot start after being shut down

I enabled SSL on my MQ container. On first start everything works as expected. However when starting the container a second time after it was shut down, the container cannot start.

docker-compose.yml:

version: '3.5'

services:
  mq:
    build:
      context: .
      dockerfile: Dockerfile
    networks:
      abc:
        aliases:
          - mq
    ports:
      - "1414:1414"
      - "9443:9443"

networks:
  abc:

Dockerfile:

FROM store/ibmcorp/mqadvanced-server-dev:9.0.5.0

ENV LICENSE=accept \
    MQ_DEV=false \
    MQ_QMGR_NAME=ABC \
    MQ_ADMIN_PASSWORD=testABC123 \
    MQ_APP_PASSWORD=testABC123 \
    MQ_TLS_KEYSTORE=/opt/abc/ibmq.keystore.p12 \
    MQ_TLS_PASSPHRASE=testABC123

COPY ibmq.keystore.p12 /opt/abc/ibmq.keystore.p12
COPY mq/99-queues.mqsc /etc/mqm/

99-queues.mqsc:

STOP LISTENER('SYSTEM.LISTENER.TCP.1')

* ABC queues
DEFINE QLOCAL('ABC.HELLO.WORLD') REPLACE

* Use a different dead letter queue, for undeliverable messages
DEFINE QLOCAL('ABC.DEAD.LETTER.QUEUE') REPLACE
ALTER QMGR DEADQ('ABC.DEAD.LETTER.QUEUE')

* ABC topics
DEFINE TOPIC('ABC.BASE.TOPIC') TOPICSTR('abc/') REPLACE

* ABC channels (Application + Admin)
DEFINE CHANNEL('ABC.ADMIN.SVRCONN') CHLTYPE(SVRCONN) REPLACE
DEFINE CHANNEL('ABC.APP.SVRCONN') CHLTYPE(SVRCONN) MCAUSER('app') REPLACE

* ABC connection authentication
DEFINE AUTHINFO('ABC.AUTHINFO') AUTHTYPE(IDPWOS) CHCKCLNT(REQDADM) CHCKLOCL(OPTIONAL) ADOPTCTX(YES) REPLACE
ALTER QMGR CONNAUTH('ABC.AUTHINFO')
ALTER QMGR CERTLABL('ibmq')
ALTER CHANNEL('ABC.ADMIN.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(TLS_RSA_WITH_AES_256_GCM_SHA384) SSLCAUTH(OPTIONAL)
ALTER CHANNEL('ABC.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(TLS_RSA_WITH_AES_256_GCM_SHA384) SSLCAUTH(OPTIONAL)
REFRESH SECURITY(*) TYPE(CONNAUTH)

* ABC channel authentication rules
SET CHLAUTH('*') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) DESCR('Back-stop rule - Blocks everyone') ACTION(REPLACE)
SET CHLAUTH('ABC.APP.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(CHANNEL) CHCKCLNT(REQUIRED) DESCR('Allows connection via APP channel') ACTION(REPLACE)
SET CHLAUTH('ABC.ADMIN.SVRCONN') TYPE(BLOCKUSER) USERLIST('nobody') DESCR('Allows admins on ADMIN channel') ACTION(REPLACE)
SET CHLAUTH('ABC.ADMIN.SVRCONN') TYPE(USERMAP) CLNTUSER('admin') USERSRC(CHANNEL) DESCR('Allows admin user to connect via ADMIN channel') ACTION(REPLACE)

* ABC authority records
SET AUTHREC GROUP('mqclient') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ,SETALL)
SET AUTHREC PROFILE('ABC.**') GROUP('mqclient') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT,SETALL)
SET AUTHREC PROFILE('ABC.**') GROUP('mqclient') OBJTYPE(TOPIC) AUTHADD(PUB,SUB)

* ABC listener
DEFINE LISTENER('ABC.LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) REPLACE
START LISTENER('ABC.LISTENER.TCP')

First start:

docker-compose up mq
Creating abc_mq_1 ... done
Attaching to abc_mq_1
mq_1       | 2018-04-28T05:36:41.119Z Set password for "admin" user
mq_1       | 2018-04-28T05:36:41.132Z Set password for "app" user
mq_1       | 2018-04-28T05:36:45.919Z Using queue manager name: ABC
mq_1       | 2018-04-28T05:36:45.919Z CPU architecture: amd64
mq_1       | 2018-04-28T05:36:45.919Z Linux kernel version: 4.9.87-linuxkit-aufs
mq_1       | 2018-04-28T05:36:45.919Z Base image detected: Ubuntu 16.04.4 LTS
mq_1       | 2018-04-28T05:36:45.919Z Maximum file handles: 524288
mq_1       | 2018-04-28T05:36:45.919Z Running as user ID 0 (root) with primary group 0
mq_1       | 2018-04-28T05:36:45.919Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT
mq_1       | 2018-04-28T05:36:45.919Z No volume detected. Persistent messages may be lost
mq_1       | 2018-04-28T05:36:45.927Z Created directory structure under /var/mqm
mq_1       | 2018-04-28T05:36:45.927Z Creating queue manager ABC
mq_1       | 2018-04-28T05:36:45.929Z Starting web server
mq_1       | 2018-04-28T05:36:48.076Z Starting queue manager
mq_1       | 2018-04-28T05:36:46.115Z AMQ6287I: IBM MQ V9.0.5.0 (p905-L180306.DE).
mq_1       | 2018-04-28T05:36:46.115Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
mq_1       | 2018-04-28T05:36:46.147Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
mq_1       | 2018-04-28T05:36:46.218Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
mq_1       | 2018-04-28T05:36:46.224Z AMQ7229I: 4 log records accessed on queue manager 'ABC' during the log replay phase.
mq_1       | 2018-04-28T05:36:46.224Z AMQ7230I: Log replay for queue manager 'ABC' complete.
mq_1       | 2018-04-28T05:36:46.227Z AMQ7231I: 0 log records accessed on queue manager 'ABC' during the recovery phase.
mq_1       | 2018-04-28T05:36:46.228Z AMQ7232I: Transaction manager state recovered for queue manager 'ABC'.
mq_1       | 2018-04-28T05:36:46.239Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'ABC'.
mq_1       | 2018-04-28T05:36:46.239Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.250Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.250Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:46.249Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:47.983Z AMQ8048I: Default objects statistics : 85 created. 0 replaced. 0 failed.
mq_1       | 2018-04-28T05:36:47.986Z AMQ8003I: IBM MQ queue manager 'ABC' started using V9.0.5.0.
mq_1       | 2018-04-28T05:36:47.997Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
mq_1       | 2018-04-28T05:36:47.997Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
mq_1       | 2018-04-28T05:36:48.000Z AMQ5041I: The queue manager task 'ERROR-LOG' has ended.
mq_1       | 2018-04-28T05:36:48.028Z AMQ5041I: The queue manager task 'CHECKPOINT' has ended.
mq_1       | 2018-04-28T05:36:48.045Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
mq_1       | 2018-04-28T05:36:48.051Z AMQ8004I: IBM MQ queue manager 'ABC' ended.
mq_1       | 2018-04-28T05:36:48.325Z Started queue manager
mq_1       | 2018-04-28T05:36:48.374Z Output for "runmqsc" with /etc/mqm/20-dev-tls.mqsc:
mq_1       |    5724-H72 (C) Copyright IBM Corp. 1994, 2018.
mq_1       |    Starting MQSC for queue manager ABC.
mq_1       |
mq_1       |
mq_1       |         1 : ALTER QMGR SSLKEYR('/run/runmqdevserver/tls/key')
mq_1       |    AMQ8005I: IBM MQ queue manager changed.
mq_1       |         2 : ALTER QMGR CERTLABL('devcert')
mq_1       |    AMQ8005I: IBM MQ queue manager changed.
mq_1       |    2 MQSC commands read.
mq_1       |    No commands have a syntax error.
mq_1       |    All valid MQSC commands were processed.
mq_1       |
mq_1       | 2018-04-28T05:36:48.190Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
mq_1       | 2018-04-28T05:36:48.200Z AMQ7229I: 5 log records accessed on queue manager 'ABC' during the log replay phase.
mq_1       | 2018-04-28T05:36:48.201Z AMQ7230I: Log replay for queue manager 'ABC' complete.
mq_1       | 2018-04-28T05:36:48.205Z AMQ7231I: 0 log records accessed on queue manager 'ABC' during the recovery phase.
mq_1       | 2018-04-28T05:36:48.205Z AMQ7232I: Transaction manager state recovered for queue manager 'ABC'.
mq_1       | 2018-04-28T05:36:48.222Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'ABC'.
mq_1       | 2018-04-28T05:36:48.226Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.241Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.237Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.241Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.244Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
mq_1       | 2018-04-28T05:36:48.261Z AMQ8003I: IBM MQ queue manager 'ABC' started using V9.0.5.0.
mq_1       | 2018-04-28T05:36:48.262Z AMQ5037I: The queue manager task 'DEFERRED_DELIVERY' has started.
mq_1       | 2018-04-28T05:36:48.273Z AMQ9410I: Repository manager started.
mq_1       | 2018-04-28T05:36:48.273Z AMQ5051I: The queue manager task 'ACTVTRC' has started.
mq_1       | 2018-04-28T05:36:48.273Z AMQ5051I: The queue manager task 'ASYNCQ' has started.
mq_1       | 2018-04-28T05:36:48.273Z AMQ5051I: The queue manager task 'EXPIRER' has started.
mq_1       | 2018-04-28T05:36:48.274Z AMQ5051I: The queue manager task 'DUR-SUBS-MGR' has started.
mq_1       | 2018-04-28T05:36:48.274Z AMQ5037I: The queue manager task 'DEFERRED-MSG' has started.
mq_1       | 2018-04-28T05:36:48.275Z AMQ5037I: The queue manager task 'STATISTICS' has started.
mq_1       | 2018-04-28T05:36:48.288Z AMQ5037I: The queue manager task 'MARKINTSCAN' has started.
mq_1       | 2018-04-28T05:36:48.288Z AMQ5052I: The queue manager task 'QPUBSUB-CTRLR' has started.
mq_1       | 2018-04-28T05:36:48.290Z AMQ5052I: The queue manager task 'QPUBSUB-QUEUE-NLCACHE' has started.
mq_1       | 2018-04-28T05:36:48.291Z AMQ5052I: The queue manager task 'QPUBSUB-SUBPT-NLCACHE' has started.
mq_1       | 2018-04-28T05:36:48.292Z AMQ5052I: The queue manager task 'PUBSUB-DAEMON' has started.
mq_1       | 2018-04-28T05:36:48.293Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Controller' has started.
mq_1       | 2018-04-28T05:36:48.295Z AMQ5051I: The queue manager task 'TOPIC-TREE' has started.
mq_1       | 2018-04-28T05:36:48.295Z AMQ5051I: The queue manager task 'RESOURCE_MONITOR' has started.
mq_1       | 2018-04-28T05:36:48.302Z AMQ5051I: The queue manager task 'PRESERVED-Q' has started.
mq_1       | 2018-04-28T05:36:48.302Z AMQ5051I: The queue manager task 'Q-DELETION' has started.
mq_1       | 2018-04-28T05:36:48.303Z AMQ5051I: The queue manager task 'MULTICAST' has started.
mq_1       | 2018-04-28T05:36:48.304Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Fan Out Task' has started.
mq_1       | 2018-04-28T05:36:48.305Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Command Task' has started.
mq_1       | 2018-04-28T05:36:48.307Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Publish Task' has started.
mq_1       | 2018-04-28T05:36:48.310Z AMQ5022I: The channel initiator has started. ProcessId(529).
mq_1       | 2018-04-28T05:36:48.312Z AMQ5024I: The command server has started. ProcessId(530).
mq_1       | 2018-04-28T05:36:48.314Z AMQ5026I: The listener 'SYSTEM.LISTENER.TCP.1' has started. ProcessId(531).
mq_1       | 2018-04-28T05:36:48.362Z AMQ8024I: IBM MQ channel initiator started.
mq_1       | 2018-04-28T05:36:48.384Z AMQ5806I: Queued Publish/Subscribe Daemon started for queue manager ABC.
mq_1       | 2018-04-28T05:36:48.421Z AMQ5027I: The listener 'SYSTEM.LISTENER.TCP.1' has ended. ProcessId(531).
mq_1       | 2018-04-28T05:36:48.636Z Output for "runmqsc" with /etc/mqm/99-queues.mqsc:
mq_1       |    5724-H72 (C) Copyright IBM Corp. 1994, 2018.
mq_1       |    Starting MQSC for queue manager ABC.
mq_1       |
mq_1       |
mq_1       |         1 : STOP LISTENER('SYSTEM.LISTENER.TCP.1')
mq_1       |    AMQ8706I: Request to stop IBM MQ Listener accepted.
mq_1       |           :
mq_1       |           : * Our queues
mq_1       |         2 : DEFINE QLOCAL('ABC.HELLO.WORLD') REPLACE
mq_1       |    AMQ8006I: IBM MQ queue created.
mq_1       |           :
mq_1       |           : * Use a different dead letter queue, for undeliverable messages
mq_1       |         3 : DEFINE QLOCAL('ABC.DEAD.LETTER.QUEUE') REPLACE
mq_1       |    AMQ8006I: IBM MQ queue created.
mq_1       |         4 : ALTER QMGR DEADQ('ABC.DEAD.LETTER.QUEUE')
mq_1       |    AMQ8005I: IBM MQ queue manager changed.
mq_1       |           :
mq_1       |           : * ABC topics
mq_1       |         5 : DEFINE TOPIC('ABC.BASE.TOPIC') TOPICSTR('abc/') REPLACE
mq_1       |    AMQ8690I: IBM MQ topic created.
mq_1       |           :
mq_1       |           : * ABC channels (Application + Admin)
mq_1       |         6 : DEFINE CHANNEL('ABC.ADMIN.SVRCONN') CHLTYPE(SVRCONN) REPLACE
mq_1       |    AMQ8014I: IBM MQ channel created.
mq_1       |         7 : DEFINE CHANNEL('ABC.APP.SVRCONN') CHLTYPE(SVRCONN) MCAUSER('app') REPLACE
mq_1       |    AMQ8014I: IBM MQ channel created.
mq_1       |           :
mq_1       |           : * ABC connection authentication
mq_1       |         8 : DEFINE AUTHINFO('ABC.AUTHINFO') AUTHTYPE(IDPWOS) CHCKCLNT(REQDADM) CHCKLOCL(OPTIONAL) ADOPTCTX(YES) REPLACE
mq_1       |    AMQ8563I: IBM MQ authentication information object created.
mq_1       |         9 : ALTER QMGR CONNAUTH('ABC.AUTHINFO')
mq_1       |    AMQ8005I: IBM MQ queue manager changed.
mq_1       |        10 : ALTER QMGR CERTLABL('ibmq')
mq_1       |    AMQ8005I: IBM MQ queue manager changed.
mq_1       |        11 : ALTER CHANNEL('ABC.ADMIN.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(TLS_RSA_WITH_AES_256_GCM_SHA384) SSLCAUTH(OPTIONAL)
mq_1       |    AMQ8016I: IBM MQ channel changed.
mq_1       |        12 : ALTER CHANNEL('ABC.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(TLS_RSA_WITH_AES_256_GCM_SHA384) SSLCAUTH(OPTIONAL)
mq_1       |    AMQ8016I: IBM MQ channel changed.
mq_1       |        13 : REFRESH SECURITY(*) TYPE(CONNAUTH)
mq_1       |    AMQ8560I: IBM MQ security cache refreshed.
mq_1       |           :
mq_1       |           : * ABC channel authentication rules
mq_1       |        14 : SET CHLAUTH('*') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) DESCR('Back-stop rule - Blocks everyone') ACTION(REPLACE)
mq_1       |    AMQ8877I: IBM MQ channel authentication record set.
mq_1       |        15 : SET CHLAUTH('ABC.APP.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(CHANNEL) CHCKCLNT(REQUIRED) DESCR('Allows connection via APP channel') ACTION(REPLACE)
mq_1       |    AMQ8877I: IBM MQ channel authentication record set.
mq_1       |        16 : SET CHLAUTH('ABC.ADMIN.SVRCONN') TYPE(BLOCKUSER) USERLIST('nobody') DESCR('Allows admins on ADMIN channel') ACTION(REPLACE)
mq_1       |    AMQ8877I: IBM MQ channel authentication record set.
mq_1       |        17 : SET CHLAUTH('ABC.ADMIN.SVRCONN') TYPE(USERMAP) CLNTUSER('admin') USERSRC(CHANNEL) DESCR('Allows admin user to connect via ADMIN channel') ACTION(REPLACE)
mq_1       |    AMQ8877I: IBM MQ channel authentication record set.
mq_1       |           :
mq_1       |           : * ABC authority records
mq_1       |        18 : SET AUTHREC GROUP('mqclient') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ,SETALL)
mq_1       |    AMQ8862I: IBM MQ authority record set.
mq_1       |        19 : SET AUTHREC PROFILE('ABC.**') GROUP('mqclient') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT,SETALL)
mq_1       |    AMQ8862I: IBM MQ authority record set.
mq_1       |        20 : SET AUTHREC PROFILE('ABC.**') GROUP('mqclient') OBJTYPE(TOPIC) AUTHADD(PUB,SUB)
mq_1       |    AMQ8862I: IBM MQ authority record set.
mq_1       |           :
mq_1       |           : * ABC listener
mq_1       |        21 : DEFINE LISTENER('ABC.LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) REPLACE
mq_1       |    AMQ8626I: IBM MQ listener created.
mq_1       |        22 : START LISTENER('ABC.LISTENER.TCP')
mq_1       |    AMQ8021I: Request to start IBM MQ listener accepted.
mq_1       |    22 MQSC commands read.
mq_1       |    No commands have a syntax error.
mq_1       |    All valid MQSC commands were processed.
mq_1       |
mq_1       | 2018-04-28T05:36:48.633Z AMQ5026I: The listener 'ABC.LISTENER.TCP' has started. ProcessId(580).
mq_1       | 2018-04-28T05:36:56.723Z Started web server

Second start:

docker-compose up mq
Starting abc_mq_1 ... done
Attaching to abc_mq_1
mq_1       | 2018-04-28T05:38:25.052Z Set password for "admin" user
mq_1       | 2018-04-28T05:38:25.064Z Set password for "app" user
mq_1       | 2018-04-28T05:38:25.143Z [Error configuring TLS: [error running "/opt/mqm/bin/runmqakm -cert -import": /opt/mqm/bin/runmqakm: exit status 24]]
abc_mq_1 exited with code 1

Error pulling image

I get the below error:

docker run -e DISPLAY=$(ipconfig getifaddr en0):0 -v /tmp/.X11-unix:/tmp/.X11-unix -u 0 -ti mq-explorer
Unable to find image 'mq-explorer:latest' locally
docker: Error response from daemon: pull access denied for mq-explorer, repository does not exist or may require 'docker login'.
See 'docker run --help'.

Tried docker login then running again, same error.

v9.0.5: unable to connect through app channel

Hey.

since version 9.0.5 I'm unable to connect through the dev app channel. I saw some changes in that area (no app mca configured anymore) but even after trying to manually add the app as mca to the channel (as before) I still can't connect.

I'm using the still kind of alpha jms package. In the logs of the container, I see it's trying to authenticate my local OSX user from outside the docker container, which is obviously not authorizable.

The inbound channel 'DEV.APP.SVRCONN' was blocked from address '172.19.0.1'
because the active values of the channel were mapped to a userid which should
be blocked. The active values of the channel were 'MCAUSER(app)
CLNTUSER(michael)'.

My workaround is using the admin user with password which feels kind of wrong. I'm still new to IBM MQ, with the permission system tricky to understand IMO.

Any help is appreciated!

dev branch lint failures: mqmetric_test_util.go

test/docker/mqmetric_test_util.go:27:6: exported type MQMETRIC should have comment or be unexported
test/docker/mqmetric_test_util.go:33:7: don't use ALL_CAPS in Go names; use CamelCase
test/docker/mqmetric_test_util.go:33:7: exported const DEFAULT_METRIC_URL should have comment or be unexported
test/docker/mqmetric_test_util.go:34:7: don't use ALL_CAPS in Go names; use CamelCase
test/docker/mqmetric_test_util.go:34:7: exported const DEFAULT_METRIC_PORT should have comment or be unexported
test/docker/mqmetric_test_util.go:35:7: don't use ALL_CAPS in Go names; use CamelCase
test/docker/mqmetric_test_util.go:35:7: exported const DEFAULT_MQ_NAMESPACE should have comment or be unexported
Found 7 lint suggestions; failing.
make: *** [lint] Error 1```

XFS filesystem type not recognized

The mqconfig_linux.go file detects filesystems, but doesn't recognize xfs. In addition, if it doesn't recognize a particular filesystem, it prints out a message like Detected /mnt/mqm has filesystem type ''

Backward compability for older MQ versions

The current code uses the crtmqdir utility to create the MQ directory structure. This utility was introduced in MQ V9.0.3. MQ is supported in Docker containers back to MQ V8.0.0.4. In these older versions, you need to use the (undocumented) amqicdir utility.

The code should be updated to invoke amqicdir -i -f if /opt/mqm/bin/crtmqdir does not exist.

We should also ensure that the code gracefully handles using an older version for the JSON logging (which wasn't introduced until MQ V9.0.4), and is assumed when mirroring error logs.

Intermittent test failure: docker_api_test.go:472: strconv.Atoi: parsing "Error: Exec command <ID> is already running": invalid syntax

docker_api_test.go:472: strconv.Atoi: parsing "Error: Exec command bcb895eff22df61cb3f2abb25bdda5a3cb3cec0aa8dbb1dd88ee1d4f0419f77e is already running": invalid syntax

Full output:

Test mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 on Docker
cd test/docker && TEST_IMAGE=mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04 DEV_JMS_IMAGE=mq-dev-jms-test go test -parallel 4 -tags mqdev 
--- FAIL: TestErrorLogRotation (8.80s)
	docker_api_test_util.go:188: Running container (mqadvanced-server-dev:9.0.5.0-x86_64-ubuntu-16.04)
	docker_api_test_util.go:207: Starting container: 862d418525d5684ef927f7ef895fcc34d9c4a45b74ab4ef728cd1134fb2785e1
	docker_api_test_util.go:349: MQ is ready
	docker_api_test.go:472: strconv.Atoi: parsing "Error: Exec command bcb895eff22df61cb3f2abb25bdda5a3cb3cec0aa8dbb1dd88ee1d4f0419f77e is already running": invalid syntax
	docker_api_test_util.go:124: Inspected container 862d418525d5684ef927f7ef895fcc34d9c4a45b74ab4ef728cd1134fb2785e1: types.ContainerJSON{ContainerJSONBase:(*types.ContainerJSONBase)(0xc42019d760), Mounts:[]types.MountPoint{types.MountPoint{Type:"bind", Name:"", Source:"/home/rob/go/src/github.com/ibm-messaging/mq-container/test/docker/coverage", Destination:"/var/coverage", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}, types.MountPoint{Type:"bind", Name:"", Source:"/tmp/TestErrorLogRotation-termination-log", Destination:"/dev/termination-log", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}}, Config:(*container.Config)(0xc4201983c0), NetworkSettings:(*types.NetworkSettings)(0xc42019f900)}

Building a Centos/RHEL image on a Ubuntu OS fails with `Use of rpm to install X is no longer supported`

Symptoms

You have ran make build-devserver or make build-advancedserver on a ubuntu machine with a base image that is not ubuntu.
Your build fails and you see the following error in the install-mq.sh output

+ /tmp/mq/MQServer/mqlicense.sh -text_only -accept
Licensed Materials - Property of IBM
 5724-H72
 (C) Copyright IBM Corporation 1993, 2018
US Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
 
WARNING: Unable to determine distribution and release for this system. 
         Check that it is supported before continuing with installation.
 
Agreement accepted:  Proceed with install.
+ false
+ false
+ false
+ true
+ cd /tmp/mq/MQServer
+ rpm -ivh MQSeriesRuntime-9.1.0-0.x86_64.rpm MQSeriesSDK-9.1.0-0.x86_64.rpm MQSeriesSamples-9.1.0-0.x86_64.rpm
Preparing...                          ########################################
ERROR:   Use of rpm to install MQSeriesRuntime on the Ubuntu distribution is no longer supported
         Installation terminated
error: %pre(MQSeriesRuntime-9.1.0-0.x86_64) scriptlet failed, exit status 255
error: MQSeriesRuntime-9.1.0-0.x86_64: install failed
ERROR:   Use of rpm to install MQSeriesSDK on the Ubuntu distribution is no longer supported
         Installation terminated
error: %pre(MQSeriesSDK-9.1.0-0.x86_64) scriptlet failed, exit status 255
error: MQSeriesSDK-9.1.0-0.x86_64: install failed
ERROR:   Use of rpm to install MQSeriesSamples on the Ubuntu distribution is no longer supported
         Installation terminated
error: %pre(MQSeriesSamples-9.1.0-0.x86_64) scriptlet failed, exit status 255
error: MQSeriesSamples-9.1.0-0.x86_64: install failed```

# Problem

MQ v9.1 added a verification check into install to make sure that on ubuntu machines apt was used to install MQ. If RPM is used on a ubuntu OS then the install will fail.
Because `uname -a` returns kernel os and version information the check incorrectly detects the container image as running a ubuntu OS and fails while trying to execute `rpm install`.

# Workaround

Ensure that when building this MQ image with a non-ubuntu base image you use a non-ubuntu host.

# Solution

A fix to the MQ product will be delivered in the future that corrects this check.

Makefile fails when using docker versions X.0-4

I have docker server and client 18.01-ce on my machine. If i do a make build-advancedserver then i see the following error:

$ make build-advancedserver
Error: Docker client 17.05 or greater is required
make: *** [docker-version] Error 1

We should review and update error/debug logging

Currently a few issues raised here and in other repositories has highlighted a gap in our logging especially around error handling and debug. We have a mechanism to enable debug mode but the information provided by this does not differ much from what we get when debug mode is disabled.

We should review the current logging in the project and improve it with the aim of providing more details for us when debug mode is enabled.

root user: AMQ7077E: You are not authorized to perform the requested operation

Root user, although member of mqm group can't perform some actions.

vagrant@~$ docker run \

--env LICENSE=accept
--env MQ_QMGR_NAME=QM1
--publish 1414:1414
--publish 9443:9443
--detach
ibmcom/mq

(mq:9.1.0.0)root@d563a1e3d493:/# whoami
root
(mq:9.1.0.0)root@d563a1e3d493:/# groups root
root : root mqm
(mq:9.1.0.0)root@d563a1e3d493:/# dspmq
QMNAME(QM1) STATUS(Running)
(mq:9.1.0.0)root@d563a1e3d493:/# endmqm QM1
AMQ7077E: You are not authorized to perform the requested operation.
(mq:9.1.0.0)root@d563a1e3d493:/# dltmqm QM1
AMQ7077E: You are not authorized to perform the requested operation.
(mq:9.1.0.0)root@d563a1e3d493:/# crtmqm QM2
AMQ7077E: You are not authorized to perform the requested operation.
(mq:9.1.0.0)root@d563a1e3d493:/# echo "DEFINE QL(TESTROOT1)" | runmqsc QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2018.
Starting MQSC for queue manager QM1.

 1 : DEFINE QL(TESTROOT1)

AMQ8006I: IBM MQ queue created.
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
(mq:9.1.0.0)root@d563a1e3d493:/# dspmqaut -m QM1 -t qmgr -p root
Entity root has the following authorizations for object QM1:
inq
set
connect
altusr
crt
dlt
chg
dsp
setid
setall
ctrl
system
(mq:9.1.0.0)root@d563a1e3d493:/# dspmqaut -m QM1 -t qmgr -p mqm
Entity mqm has the following authorizations for object QM1:
inq
set
connect
altusr
crt
dlt
chg
dsp
setid
setall
ctrl
system
(mq:9.1.0.0)root@d563a1e3d493:/# uname -a
Linux d563a1e3d493 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 x86_64 x86_64 GNU/Linux
(mq:9.1.0.0)root@d563a1e3d493:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
(mq:9.1.0.0)root@d563a1e3d493:/#

Error : gzip: stdin: not in gzip format

Hello,

I have an error when i run this command :MQ_ARCHIVE=IBM_MQ_9.0.0.0_LINUX_X86-64_TRIAL.tar.gz make build-advancedserver

The output is :

  • false
  • DIR_EXTRACT=/tmp/mq
  • mkdir -p /tmp/mq
  • cd /tmp/mq
  • curl -LO http://build:80/IBM_MQ_9.0.0.0_LINUX_X86-64_TRIAL.tar.gz
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 3892 100 3892 0 0 364k 0 --:--:-- --:--:-- --:--:-- 380k
  • tar -zxvf ./IBM_MQ_9.0.0.0_LINUX_X86-64_TRIAL.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

The command '/bin/sh -c chmod u+x /usr/local/bin/install-mq.sh && sleep 1 && install-mq.sh' returned a non-zero code: 2
build-server
build

Thanks for your help.

build-advancedserver tries to download software even though it exists in the downloads directory

make MQ_VERSION=9.0.5.0 build-advancedserver

Makefile:139: warning: overriding recipe for target 'downloads/mqadv_dev905_linux_x86-64.tar.gz'
Makefile:134: warning: ignoring old recipe for target 'downloads/mqadv_dev905_linux_x86-64.tar.gz'

Downloading IBM MQ Advanced for Developers 9.0.5.0
mkdir -p downloads
cd downloads; curl -LO https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 284 100 284 0 0 1576 0 --:--:-- --:--:-- --:--:-- 1577

make MQ_ARCHIVE=IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz build-advancedserver

Makefile:139: warning: overriding recipe for target 'downloads/mqadv_dev905_linux_x86-64.tar.gz'
Makefile:134: warning: ignoring old recipe for target 'downloads/mqadv_dev905_linux_x86-64.tar.gz'

Downloading IBM MQ Advanced for Developers 9.0.5.0
mkdir -p downloads
cd downloads; curl -LO https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 284 100 284 0 0 654 0 --:--:-- --:--:-- --:--:-- 655

/downloads# ls -lrt
total 879673
-rwxrwxrwx 1 vagrant vagrant 900776791 Jul 12 14:13 IBM_MQ_9.0.5.0_UBUNTU_X86-64.tar.gz
-rwxrwxrwx 1 vagrant vagrant 477 Jul 18 18:12 nohup.out
-rwxrwxrwx 1 vagrant vagrant 284 Jul 18 18:24 IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz

For some reason it tries to download the "IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz" and replaces it with some jibberish file.

The MQ Sever Is Not Started If There Are Any Other Filesystems Mounted Under /mnt

If we wish to use the mq server in a nonpersistent mode (eg. for integration testing our applications) we don't mount the data directory and we rely on the overlayfs provided by docker.

This works fine and dandy if there are no other filesystems mounted, but we sometimes run these integration tests on a Mesos cluster, which by default mounts a sandbox directory under /mnt/mesos. In this case the container fails to start.

The logic to check if we are running in non-persistent mode only works if there are no other file systems under /mnt:

if strings.Contains(mountPoint, "/mnt") {

Perhaps this should verify the exact path /mnt/mqm is mounted before performing the checkFs call.

Pulling mq-sdk Error

Hello,
I have an error when i run this command : MQ_ARCHIVE=IBM_MQ_9.0.0.0_LINUX_X86-64_TRIAL.tar.gz MQ_VERSION=9.0.0.0 make build-advancedserver

The output is :
Step 1/7 : ARG BASE_IMAGE=mq-sdk:9.0.5.0-x86_64-ubuntu-16.04
Step 2/7 : FROM $BASE_IMAGE
pull access denied for mq-sdk, repository does not exist or may require 'docker login'
make: *** [build-golang-sdk] Error 1

Thanks for your help.

should "chkmqhealthy " print out any output ?

From what i understand, "chkmqhealthy" is used for checking qmgr status, by liveliness probe. so it should return a zero or non-zero exit code.

But, when I manually run it on the container, it returns some random numbers, trying to understand what that is. I checked the code in "cmd/chkmqhealthy/main.go" and looks like it should print out the combinedoutput (something like this , QMNAME(510AB53DC682) STATUS(Running)? ). But, what i see is this.

(mq:9.0.5.0)root@510AB53DC682:/# chkmqhealthy
[81 77 78 65 77 69 40 53 49 48 65 66 50 49 68 67 54 65 57 41 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 83 84 65 84 85 83 40 82 85 78 78 73 78 71 41 10]

(mq:9.0.5.0)root@510AB53DC682:/# dspmq
QMNAME(510AB21DC6A9) STATUS(Running)

could you help me understand what this is?

/var/mqm should be separated out into multiple volumes

COPIED FROM https://github.com/ibm-messaging/mq-docker/issues/30

With a single mount point for /var/mqm the container cannot be run with an NFS volume because NFS cannot be used for MQ's shared memory files.

The MQ KnowledgeCenter recommends separating out /var/mqm/qmgrs, /var/mqm/log, /var/mqm/errors and /var/mqm/trace for performance reasons. This seems to make sense for container volumes as well so these should probably be the different volumes exposed by the MQ container.

mqs.ini should be moved at the same time, probably to /var/mqm/qmgrs, so it survives container restarts. Leaving it under /var/mqm would cause it to be lost, assuming the above volume changes are made. AMQ_MQS_INI_LOCATION can be set to make MQ's commands read from the new location.

ibmcom/mq:9 and ibmcom/mq:latest doesn't work on mesos cluster

I'm using the ibmcom/mq for functional tests deployed on a mesos cluster.
It perfectly worked until the last update of the docker image you did 5 days ago.

The task exit with code error 1 and this is the error log:

I0605 15:08:37.385257 23694 exec.cpp:162] Version: 1.3.1
I0605 15:08:37.389976 23703 exec.cpp:237] Executor registered on agent 95f77c0c-4605-4ca1-9355-384d7b1cff7f-S3
WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
2018-06-05T15:08:37.828Z Set password for "admin" user
2018-06-05T15:08:37.831Z Using queue manager name: QM1
2018-06-05T15:08:37.831Z CPU architecture: amd64
2018-06-05T15:08:37.832Z Linux kernel version: 4.4.0-1060-aws
2018-06-05T15:08:37.832Z Base image detected: Ubuntu 16.04.4 LTS
2018-06-05T15:08:37.832Z Maximum file handles: 3285311
2018-06-05T15:08:37.832Z Running as user ID 0 (root) with primary group 0
2018-06-05T15:08:37.832Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT
2018-06-05T15:08:37.832Z Detected 'ext4' volume mounted to /mnt/mesos/sandbox
2018-06-05T15:08:37.832Z [/mnt/mqm uses unsupported filesystem type: overlayfs]
E0605 15:08:39.187883 23706 process.cpp:956] Failed to accept socket: future discarded

From a quick investigation looks like the sh script runmqserver doesn't like that mesos mount /mnt/mesos/sandbox.
The 'runmqserver' command(in this version) is bugged because it fails when there is a volume mounted in /mnt (eg /mnt/xyz) and mnt/mq is not mounted.
It does work when /mnt/mq is mounted and something else is mounted on /mnt.
This behaviour prevent the container to on Mesos because by default mesos mount a folder in /mnt/mesos.

Beginner usage: '20-config.mqsc' in the Dockerfile file is ambiguous and unclear.

I included the dockerfile exactly as stated in the usage documentation and created a file named 20-config.mqsc in the working directory and got:

COPY failed: stat /var/lib/docker/tmp/docker-builder970108510/20-config.mqsc: no such file or directory

Where does this file need to be saved for this dockerfile to work? It is unclear from the doc.

9.0.5 branch: Intermittant test failure TestZombies

On a local run on a Ubuntu 16.04 machine with a production image


Test mqadvanced-server:9.0.5.0-x86_64-ubuntu-16.04 on Docker
cd test/docker && TEST_IMAGE=mqadvanced-server:9.0.5.0-x86_64-ubuntu-16.04 go test -parallel 4 
--- FAIL: TestZombies (4.66s)
	docker_api_test_util.go:182: Running container (mqadvanced-server:9.0.5.0-x86_64-ubuntu-16.04)
	docker_api_test_util.go:201: Starting container: ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d
	docker_api_test_util.go:319: MQ is ready
	docker_api_test.go:325: Expected pkill to kill a process, got 0
	docker_api_test_util.go:118: Inspected container ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d: types.ContainerJSON{ContainerJSONBase:(*types.ContainerJSONBase)(0xc4204bef20), Mounts:[]types.MountPoint{types.MountPoint{Type:"bind", Name:"", Source:"/home/rob/go/src/github.com/ibm-messaging/mq-container/test/docker/coverage", Destination:"/var/coverage", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}, types.MountPoint{Type:"bind", Name:"", Source:"/tmp/TestZombies-termination-log", Destination:"/dev/termination-log", Driver:"", Mode:"", RW:true, Propagation:"rprivate"}}, Config:(*container.Config)(0xc42008a3c0), NetworkSettings:(*types.NetworkSettings)(0xc4202d9300)}
	docker_api_test_util.go:123: Inspected container ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d: {
		    "Id": "ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d",
		    "Created": "2018-06-01T11:30:33.335547073Z",
		    "Path": "runmqserver",
		    "Args": [],
		    "State": {
		        "Status": "running",
		        "Running": true,
		        "Paused": false,
		        "Restarting": false,
		        "OOMKilled": false,
		        "Dead": false,
		        "Pid": 40286,
		        "ExitCode": 0,
		        "Error": "",
		        "StartedAt": "2018-06-01T11:30:33.767184383Z",
		        "FinishedAt": "0001-01-01T00:00:00Z"
		    },
		    "Image": "sha256:80b414bca5b2a0f3251ae42ad97c0477e9bdbc71e163c5724c1b3c2131b623cb",
		    "ResolvConfPath": "/var/lib/docker/containers/ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d/resolv.conf",
		    "HostnamePath": "/var/lib/docker/containers/ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d/hostname",
		    "HostsPath": "/var/lib/docker/containers/ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d/hosts",
		    "LogPath": "/var/lib/docker/containers/ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d/ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d-json.log",
		    "Name": "/TestZombies",
		    "RestartCount": 0,
		    "Driver": "aufs",
		    "MountLabel": "",
		    "ProcessLabel": "",
		    "AppArmorProfile": "docker-default",
		    "ExecIDs": null,
		    "HostConfig": {
		        "Binds": [
		            "/home/rob/go/src/github.com/ibm-messaging/mq-container/test/docker/coverage:/var/coverage",
		            "/tmp/TestZombies-termination-log:/dev/termination-log"
		        ],
		        "ContainerIDFile": "",
		        "LogConfig": {
		            "Type": "json-file",
		            "Config": {}
		        },
		        "NetworkMode": "default",
		        "PortBindings": {
		            "9443/tcp": [
		                {
		                    "HostIp": "0.0.0.0",
		                    "HostPort": ""
		                }
		            ]
		        },
		        "RestartPolicy": {
		            "Name": "",
		            "MaximumRetryCount": 0
		        },
		        "AutoRemove": false,
		        "VolumeDriver": "",
		        "VolumesFrom": null,
		        "CapAdd": null,
		        "CapDrop": null,
		        "Dns": null,
		        "DnsOptions": null,
		        "DnsSearch": null,
		        "ExtraHosts": null,
		        "GroupAdd": null,
		        "IpcMode": "shareable",
		        "Cgroup": "",
		        "Links": null,
		        "OomScoreAdj": 0,
		        "PidMode": "",
		        "Privileged": false,
		        "PublishAllPorts": false,
		        "ReadonlyRootfs": false,
		        "SecurityOpt": null,
		        "UTSMode": "",
		        "UsernsMode": "",
		        "ShmSize": 67108864,
		        "Runtime": "runc",
		        "ConsoleSize": [
		            0,
		            0
		        ],
		        "Isolation": "",
		        "CpuShares": 0,
		        "Memory": 0,
		        "NanoCpus": 0,
		        "CgroupParent": "",
		        "BlkioWeight": 0,
		        "BlkioWeightDevice": null,
		        "BlkioDeviceReadBps": null,
		        "BlkioDeviceWriteBps": null,
		        "BlkioDeviceReadIOps": null,
		        "BlkioDeviceWriteIOps": null,
		        "CpuPeriod": 0,
		        "CpuQuota": 0,
		        "CpuRealtimePeriod": 0,
		        "CpuRealtimeRuntime": 0,
		        "CpusetCpus": "",
		        "CpusetMems": "",
		        "Devices": null,
		        "DiskQuota": 0,
		        "KernelMemory": 0,
		        "MemoryReservation": 0,
		        "MemorySwap": 0,
		        "MemorySwappiness": null,
		        "OomKillDisable": false,
		        "PidsLimit": 0,
		        "Ulimits": null,
		        "CpuCount": 0,
		        "CpuPercent": 0,
		        "IOMaximumIOps": 0,
		        "IOMaximumBandwidth": 0
		    },
		    "GraphDriver": {
		        "Name": "aufs",
		        "Data": null
		    },
		    "Mounts": [
		        {
		            "Type": "bind",
		            "Source": "/home/rob/go/src/github.com/ibm-messaging/mq-container/test/docker/coverage",
		            "Destination": "/var/coverage",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        },
		        {
		            "Type": "bind",
		            "Source": "/tmp/TestZombies-termination-log",
		            "Destination": "/dev/termination-log",
		            "Mode": "",
		            "RW": true,
		            "Propagation": "rprivate"
		        }
		    ],
		    "Config": {
		        "Hostname": "ea59bf3e013e",
		        "Domainname": "",
		        "User": "",
		        "AttachStdin": false,
		        "AttachStdout": false,
		        "AttachStderr": false,
		        "ExposedPorts": {
		            "1414/tcp": {}
		        },
		        "Tty": false,
		        "OpenStdin": false,
		        "StdinOnce": false,
		        "Env": [
		            "LICENSE=accept",
		            "MQ_QMGR_NAME=qm1",
		            "DEBUG=true",
		            "COVERAGE_FILE=TestZombies.cov",
		            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
		            "LANG=en_US.UTF-8",
		            "AMQ_DIAGNOSTIC_MSG_SEVERITY=1",
		            "AMQ_ADDITIONAL_JSON_LOG=1",
		            "LOG_FORMAT=basic"
		        ],
		        "Cmd": null,
		        "ArgsEscaped": true,
		        "Image": "mqadvanced-server:9.0.5.0-x86_64-ubuntu-16.04",
		        "Volumes": null,
		        "WorkingDir": "",
		        "Entrypoint": [
		            "runmqserver"
		        ],
		        "OnBuild": null,
		        "Labels": {
		            "IBM_PRODUCT_ID": "4486e8c4cc9146fd9b3ce1f14a2dfc5b",
		            "IBM_PRODUCT_NAME": "IBM MQ Advanced",
		            "IBM_PRODUCT_VERSION": "9.0.5.0"
		        }
		    },
		    "NetworkSettings": {
		        "Bridge": "",
		        "SandboxID": "96cdfe616a00f74df46d8e208490638909779a7b56d62a466516f5b15bc81001",
		        "HairpinMode": false,
		        "LinkLocalIPv6Address": "",
		        "LinkLocalIPv6PrefixLen": 0,
		        "Ports": {
		            "1414/tcp": null
		        },
		        "SandboxKey": "/var/run/docker/netns/96cdfe616a00",
		        "SecondaryIPAddresses": null,
		        "SecondaryIPv6Addresses": null,
		        "EndpointID": "3ce67d166d388d98e319c6407d757745dec71d642361377de2f3882c7bad13c2",
		        "Gateway": "172.17.0.1",
		        "GlobalIPv6Address": "",
		        "GlobalIPv6PrefixLen": 0,
		        "IPAddress": "172.17.0.2",
		        "IPPrefixLen": 16,
		        "IPv6Gateway": "",
		        "MacAddress": "02:42:ac:11:00:02",
		        "Networks": {
		            "bridge": {
		                "IPAMConfig": null,
		                "Links": null,
		                "Aliases": null,
		                "NetworkID": "d87530898904a0fda4b164b133fec2086f6d4d2bc12eac97274c88e77e093140",
		                "EndpointID": "3ce67d166d388d98e319c6407d757745dec71d642361377de2f3882c7bad13c2",
		                "Gateway": "172.17.0.1",
		                "IPAddress": "172.17.0.2",
		                "IPPrefixLen": 16,
		                "IPv6Gateway": "",
		                "GlobalIPv6Address": "",
		                "GlobalIPv6PrefixLen": 0,
		                "MacAddress": "02:42:ac:11:00:02"
		            }
		        }
		    }
		}
	docker_api_test_util.go:125: Stopping container: ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d
	docker_api_test_util.go:133: Container stopped
	docker_api_test_util.go:138: Console log from container ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d:
		2018-06-01T11:30:33.748Z Using queue manager name: qm1
		2018-06-01T11:30:33.748Z CPU architecture: amd64
		2018-06-01T11:30:33.749Z Linux kernel version: 4.4.0-127-generic
		2018-06-01T11:30:33.749Z Base image detected: Ubuntu 16.04.4 LTS
		2018-06-01T11:30:33.749Z Maximum file handles: 810110
		2018-06-01T11:30:33.749Z Running as user ID 0 (root) with primary group 0
		2018-06-01T11:30:33.749Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT
		2018-06-01T11:30:33.749Z No volume detected. Persistent messages may be lost
		2018-06-01T11:30:33.750Z mqm user is 999 (999)
		2018-06-01T11:30:33.775Z Created directory structure under /var/mqm
		2018-06-01T11:30:33.775Z Creating queue manager qm1
		2018-06-01T11:30:34.647Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:34.658Z Starting queue manager
		2018-06-01T11:30:34.660Z Mirrored 27 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:34.660Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 15027
		2018-06-01T11:30:34.031Z AMQ6287I: IBM MQ V9.0.5.0 (p905-L180305.1).
		2018-06-01T11:30:34.030Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.038Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-06-01T11:30:34.136Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.149Z AMQ7229I: 4 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-06-01T11:30:34.149Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-06-01T11:30:34.151Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-06-01T11:30:34.151Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-06-01T11:30:34.154Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-06-01T11:30:34.155Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-06-01T11:30:34.184Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.574Z AMQ8048I: Default objects statistics : 85 created. 0 replaced. 0 failed.
		2018-06-01T11:30:34.575Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-06-01T11:30:34.587Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-06-01T11:30:34.587Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-06-01T11:30:34.594Z AMQ5041I: The queue manager task 'ERROR-LOG' has ended.
		2018-06-01T11:30:34.616Z AMQ5041I: The queue manager task 'CHECKPOINT' has ended.
		2018-06-01T11:30:34.622Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-06-01T11:30:34.627Z AMQ8004I: IBM MQ queue manager 'qm1' ended.
		2018-06-01T11:30:34.926Z Started queue manager
		2018-06-01T11:30:34.931Z [Listening for SIGCHLD signals]
		2018-06-01T11:30:35.148Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:34.764Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.781Z AMQ7229I: 5 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-06-01T11:30:34.782Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-06-01T11:30:34.783Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-06-01T11:30:34.784Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-06-01T11:30:34.787Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-06-01T11:30:34.788Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-06-01T11:30:34.812Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-06-01T11:30:34.813Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.841Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-06-01T11:30:34.842Z AMQ5037I: The queue manager task 'DEFERRED_DELIVERY' has started.
		2018-06-01T11:30:34.860Z AMQ9410I: Repository manager started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'ACTVTRC' has started.
		2018-06-01T11:30:34.860Z AMQ5037I: The queue manager task 'DEFERRED-MSG' has started.
		2018-06-01T11:30:34.860Z AMQ5037I: The queue manager task 'STATISTICS' has started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'ASYNCQ' has started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'EXPIRER' has started.
		2018-06-01T11:30:34.862Z AMQ5051I: The queue manager task 'DUR-SUBS-MGR' has started.
		2018-06-01T11:30:34.867Z AMQ5037I: The queue manager task 'MARKINTSCAN' has started.
		2018-06-01T11:30:34.869Z AMQ5051I: The queue manager task 'TOPIC-TREE' has started.
		2018-06-01T11:30:34.869Z AMQ5051I: The queue manager task 'RESOURCE_MONITOR' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'QPUBSUB-CTRLR' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'QPUBSUB-QUEUE-NLCACHE' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'PUBSUB-DAEMON' has started.
		2018-06-01T11:30:34.870Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Controller' has started.
		2018-06-01T11:30:34.871Z AMQ5052I: The queue manager task 'QPUBSUB-SUBPT-NLCACHE' has started.
		2018-06-01T11:30:34.874Z AMQ5051I: The queue manager task 'Q-DELETION' has started.
		2018-06-01T11:30:34.876Z AMQ5051I: The queue manager task 'PRESERVED-Q' has started.
		2018-06-01T11:30:34.876Z AMQ5051I: The queue manager task 'MULTICAST' has started.
		2018-06-01T11:30:34.895Z AMQ5022I: The channel initiator has started. ProcessId(249).
		2018-06-01T11:30:34.896Z AMQ5024I: The command server has started. ProcessId(250).
		2018-06-01T11:30:34.897Z AMQ5026I: The listener 'SYSTEM.LISTENER.TCP.1' has started. ProcessId(251).
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Fan Out Task' has started.
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Command Task' has started.
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Publish Task' has started.
		2018-06-01T11:30:34.929Z AMQ5806I: Queued Publish/Subscribe Daemon started for queue manager qm1.
		2018-06-01T11:30:34.945Z AMQ8024I: IBM MQ channel initiator started.
		2018-06-01T11:30:35.163Z Mirrored 44 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:35.163Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 40623
		2018-06-01T11:30:35.649Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:35.663Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 40623
		2018-06-01T11:30:36.003Z [Received SIGCHLD signal]
		2018-06-01T11:30:36.003Z Reaped PID 162
		2018-06-01T11:30:36.149Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:36.025Z AMQ5027I: The listener 'SYSTEM.LISTENER.TCP.1' has ended. ProcessId(251).
		2018-06-01T11:30:36.164Z Mirrored 1 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:36.164Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:36.649Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:36.665Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:37.150Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:37.165Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:37.286Z Signal received: terminated
		2018-06-01T11:30:37.286Z Stopping queue manager
		2018-06-01T11:30:37.329Z Error stopping queue manager: AMQ8146E: IBM MQ queue manager not available.
		
		2018-06-01T11:30:37.329Z Reaped PID 298
		2018-06-01T11:30:37.329Z Cancel log mirroring
		2018-06-01T11:30:37.329Z Waiting for log mirroring to complete
		2018-06-01T11:30:37.651Z Context cancelled for mirroring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Context cancelled for mirroring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Shutting down mirror for /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Finished monitoring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Context cancelled for mirroring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Context cancelled for mirroring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Shutting down mirror for /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Finished monitoring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:33.748Z Using queue manager name: qm1
		2018-06-01T11:30:33.748Z CPU architecture: amd64
		2018-06-01T11:30:33.749Z Linux kernel version: 4.4.0-127-generic
		2018-06-01T11:30:33.749Z Base image detected: Ubuntu 16.04.4 LTS
		2018-06-01T11:30:33.749Z Maximum file handles: 810110
		2018-06-01T11:30:33.749Z Running as user ID 0 (root) with primary group 0
		2018-06-01T11:30:33.749Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT
		2018-06-01T11:30:33.749Z No volume detected. Persistent messages may be lost
		2018-06-01T11:30:33.750Z mqm user is 999 (999)
		2018-06-01T11:30:33.775Z Created directory structure under /var/mqm
		2018-06-01T11:30:33.775Z Creating queue manager qm1
		2018-06-01T11:30:34.647Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:34.658Z Starting queue manager
		2018-06-01T11:30:34.660Z Mirrored 27 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:34.660Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 15027
		2018-06-01T11:30:34.031Z AMQ6287I: IBM MQ V9.0.5.0 (p905-L180305.1).
		2018-06-01T11:30:34.030Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.038Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-06-01T11:30:34.136Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.149Z AMQ7229I: 4 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-06-01T11:30:34.149Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-06-01T11:30:34.151Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-06-01T11:30:34.151Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-06-01T11:30:34.154Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-06-01T11:30:34.155Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-06-01T11:30:34.184Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.185Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.574Z AMQ8048I: Default objects statistics : 85 created. 0 replaced. 0 failed.
		2018-06-01T11:30:34.575Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-06-01T11:30:34.587Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-06-01T11:30:34.587Z AMQ5041I: The queue manager task 'APP-SIGNAL' has ended.
		2018-06-01T11:30:34.594Z AMQ5041I: The queue manager task 'ERROR-LOG' has ended.
		2018-06-01T11:30:34.616Z AMQ5041I: The queue manager task 'CHECKPOINT' has ended.
		2018-06-01T11:30:34.622Z AMQ5041I: The queue manager task 'LOGGER-IO' has ended.
		2018-06-01T11:30:34.627Z AMQ8004I: IBM MQ queue manager 'qm1' ended.
		2018-06-01T11:30:34.926Z Started queue manager
		2018-06-01T11:30:34.931Z [Listening for SIGCHLD signals]
		2018-06-01T11:30:35.148Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:34.764Z AMQ5051I: The queue manager task 'LOGGER-IO' has started.
		2018-06-01T11:30:34.781Z AMQ7229I: 5 log records accessed on queue manager 'qm1' during the log replay phase.
		2018-06-01T11:30:34.782Z AMQ7230I: Log replay for queue manager 'qm1' complete.
		2018-06-01T11:30:34.783Z AMQ7231I: 0 log records accessed on queue manager 'qm1' during the recovery phase.
		2018-06-01T11:30:34.784Z AMQ7232I: Transaction manager state recovered for queue manager 'qm1'.
		2018-06-01T11:30:34.787Z AMQ7233I: 0 out of 0 in-flight transactions resolved for queue manager 'qm1'.
		2018-06-01T11:30:34.788Z AMQ5051I: The queue manager task 'CHECKPOINT' has started.
		2018-06-01T11:30:34.812Z AMQ5037I: The queue manager task 'ERROR-LOG' has started.
		2018-06-01T11:30:34.813Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.814Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.818Z AMQ5037I: The queue manager task 'APP-SIGNAL' has started.
		2018-06-01T11:30:34.841Z AMQ8003I: IBM MQ queue manager 'qm1' started using V9.0.5.0.
		2018-06-01T11:30:34.842Z AMQ5037I: The queue manager task 'DEFERRED_DELIVERY' has started.
		2018-06-01T11:30:34.860Z AMQ9410I: Repository manager started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'ACTVTRC' has started.
		2018-06-01T11:30:34.860Z AMQ5037I: The queue manager task 'DEFERRED-MSG' has started.
		2018-06-01T11:30:34.860Z AMQ5037I: The queue manager task 'STATISTICS' has started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'ASYNCQ' has started.
		2018-06-01T11:30:34.860Z AMQ5051I: The queue manager task 'EXPIRER' has started.
		2018-06-01T11:30:34.862Z AMQ5051I: The queue manager task 'DUR-SUBS-MGR' has started.
		2018-06-01T11:30:34.867Z AMQ5037I: The queue manager task 'MARKINTSCAN' has started.
		2018-06-01T11:30:34.869Z AMQ5051I: The queue manager task 'TOPIC-TREE' has started.
		2018-06-01T11:30:34.869Z AMQ5051I: The queue manager task 'RESOURCE_MONITOR' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'QPUBSUB-CTRLR' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'QPUBSUB-QUEUE-NLCACHE' has started.
		2018-06-01T11:30:34.870Z AMQ5052I: The queue manager task 'PUBSUB-DAEMON' has started.
		2018-06-01T11:30:34.870Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Controller' has started.
		2018-06-01T11:30:34.871Z AMQ5052I: The queue manager task 'QPUBSUB-SUBPT-NLCACHE' has started.
		2018-06-01T11:30:34.874Z AMQ5051I: The queue manager task 'Q-DELETION' has started.
		2018-06-01T11:30:34.876Z AMQ5051I: The queue manager task 'PRESERVED-Q' has started.
		2018-06-01T11:30:34.876Z AMQ5051I: The queue manager task 'MULTICAST' has started.
		2018-06-01T11:30:34.895Z AMQ5022I: The channel initiator has started. ProcessId(249).
		2018-06-01T11:30:34.896Z AMQ5024I: The command server has started. ProcessId(250).
		2018-06-01T11:30:34.897Z AMQ5026I: The listener 'SYSTEM.LISTENER.TCP.1' has started. ProcessId(251).
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Fan Out Task' has started.
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Command Task' has started.
		2018-06-01T11:30:34.911Z AMQ5975I: 'IBM MQ Distributed Pub/Sub Publish Task' has started.
		2018-06-01T11:30:34.929Z AMQ5806I: Queued Publish/Subscribe Daemon started for queue manager qm1.
		2018-06-01T11:30:34.945Z AMQ8024I: IBM MQ channel initiator started.
		2018-06-01T11:30:35.163Z Mirrored 44 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:35.163Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 40623
		2018-06-01T11:30:35.649Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:35.663Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 40623
		2018-06-01T11:30:36.003Z [Received SIGCHLD signal]
		2018-06-01T11:30:36.003Z Reaped PID 162
		2018-06-01T11:30:36.149Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:36.025Z AMQ5027I: The listener 'SYSTEM.LISTENER.TCP.1' has ended. ProcessId(251).
		2018-06-01T11:30:36.164Z Mirrored 1 log entries from /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:36.164Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:36.649Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:36.665Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:37.150Z File exists: /var/mqm/errors/AMQERR01.json, 0
		2018-06-01T11:30:37.165Z File exists: /var/mqm/qmgrs/qm1/errors/AMQERR01.json, 41196
		2018-06-01T11:30:37.286Z Signal received: terminated
		2018-06-01T11:30:37.286Z Stopping queue manager
		2018-06-01T11:30:37.329Z Error stopping queue manager: AMQ8146E: IBM MQ queue manager not available.
		
		2018-06-01T11:30:37.329Z Reaped PID 298
		2018-06-01T11:30:37.329Z Cancel log mirroring
		2018-06-01T11:30:37.329Z Waiting for log mirroring to complete
		2018-06-01T11:30:37.651Z Context cancelled for mirroring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Context cancelled for mirroring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Shutting down mirror for /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.651Z Finished monitoring /var/mqm/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Context cancelled for mirroring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Context cancelled for mirroring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Shutting down mirror for /var/mqm/qmgrs/qm1/errors/AMQERR01.json
		2018-06-01T11:30:37.666Z Finished monitoring /var/mqm/qmgrs/qm1/errors/AMQERR01.json
	docker_api_test_util.go:146: Removing container: ea59bf3e013ec92d190b92861e27fbe4cf72e2950283bfcef25a9d005b60b24d
FAIL
exit status 1
FAIL	github.com/ibm-messaging/mq-container/test/docker	20.128s
Makefile:138: recipe for target 'test-advancedserver' failed
make: *** [test-advancedserver] Error 1```

Issue with docker-compose

Hello,

When I launch mqserver with docker run it work well, however when I try to launch it with docker-compose I have an error message about /mnt/mqm and xfs :

$ cat docker-compose.yml
version: '3'
services:
    mqseries:
        image: ibmcom/mq:9-cd
        ports:
            - "1414:1414"
        container_name: mqserver
        environment:
            - LICENSE=accept
            - MQ_QMGR_NAME=MQAZ01
        volumes:
            - mqseries-volume:/var/mqm
        stdin_open: true
        tty: true
        restart: always
volumes:
    mqseries-volume:
$ docker-compose up
Creating volume "mqserver_mqseries-volume" with default driver
Creating mqserver ... done
Attaching to mqserver
mqserver    | 2018-05-02T13:14:49.525Z Set password for "admin" user
mqserver    | 2018-05-02T13:14:49.566Z Using queue manager name: MQAZ01
mqserver    | 2018-05-02T13:14:49.567Z CPU architecture: amd64
mqserver    | 2018-05-02T13:14:49.567Z Linux kernel version: 3.10.0-862.el7.x86_64
mqserver    | 2018-05-02T13:14:49.567Z Base image detected: Ubuntu 16.04.4 LTS
mqserver    | 2018-05-02T13:14:49.568Z Maximum file handles: 805428
mqserver    | 2018-05-02T13:14:49.568Z Running as user ID 0 (root) with primary group 0
mqserver    | 2018-05-02T13:14:49.568Z Detected capabilities: AUDIT_WRITE,CHOWN,DAC_OVERRIDE,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT
mqserver    | 2018-05-02T13:14:49.568Z Detected 'xfs' volume mounted to /mnt/mqm/data
mqserver    | 2018-05-02T13:14:49.568Z Detected /mnt/mqm has filesystem type ''
mqserver    | 2018-05-02T13:14:49.569Z Error: Unable to change ownership of /mnt/mqm/data
mqserver    | 2018-05-02T13:14:49.569Z [chown /mnt/mqm/data: permission denied]

I can workaround this by creating a specific volume for /mnt/mqm but I think there is a bug here. Can you help with this ?

Regards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.