# 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. FormatVersion: 2.0.0 Version: 1.0.0 Name: Run container Parameters: appName: $appName portMap: $portMap volumeMap: $volumeMap env: $env image: $image commands: $commands privileged: $privileged Body: | options = ['-d', '--name ' + args.appName] for host_port, container_port in args.portMap.iteritems(): options.append('-p {0}:{1}'.format(host_port, container_port)) for host_dir, container_dir in args.volumeMap.iteritems(): options.append("-v '{0}':'{1}'".format(host_dir, container_dir)) for key, value in args.env.iteritems(): options.append("-e '{0}'='{1}'".format(key, value)) if args.privileged: options.append("--privileged") runDockerCommand('run {0} {1} {2}'.format(' '.join(options), args.image, ' '.join(args.commands)).rstrip()) return runDockerCommand('inspect -f={{.NetworkSettings.IPAddress}} ' + args.appName).stdout Scripts: runDockerCommand: Type: Application Version: 1.0.0 EntryPoint: runDockerCommand.sh Options: captureStdout: true captureStderr: true