container-transform icon indicating copy to clipboard operation
container-transform copied to clipboard

Compose properties

Open supermock opened this issue 7 years ago • 0 comments

Stacktrace

$ cat docker-compose.yml | docker run --rm -i micahhausler/container-transform
Traceback (most recent call last):
  File "/usr/local/bin/container-transform", line 11, in <module>
    load_entry_point('container-transform==1.1.5', 'console_scripts', 'container-transform')()
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/client.py", line 64, in transform
    output = converter.convert(verbose)
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/converter.py", line 57, in convert
    output_transformer
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/converter.py", line 90, in _convert_container
    output[output_name] = emit_func(ingest_func(container.get(input_name)))
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 138, in ingest_port_mappings
    return [self._parse_port_mapping(mapping) for mapping in port_mappings]
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 138, in <listcomp>
    return [self._parse_port_mapping(mapping) for mapping in port_mappings]
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 116, in _parse_port_mapping
    'host_port': int(parts[0]),
ValueError: invalid literal for int() with base 10: "{'published'"

I believe this is occurring because of the lack of treatment of the following properties:

version: '3.4'

services:
  mycontainer:
    ports:
      - published: 80
      target: 80
      - published: 443
      target: 443
      - published: 8080
      target: 8080
      - published: 9090
      target: 9090
      - published: 9093
      target: 9093

Regards, SuperMock

supermock avatar Jan 31 '18 20:01 supermock