Docker Compose错误“TypeError:expected string or buffer”on docker:dind(ports)

我正在试图在docker集装箱(docker:dind)中用docker-compose来设置我的容器,以便在gitlab ci中进行testing。

从昨天到今天,“docker-compose up”已经开始失败了,我在docker-compose.yml中将错误减less到了“ports”段的服务。 最简单的configuration失败的是:

version: '3': services: ubuntu: image: ubuntu:latest ports: - 80:80 

我试过没有端口,它的工作原理。

具体的错误是这样的:

 ERROR: for ubuntu expected string or buffer Traceback (most recent call last): File "/usr/bin/docker-compose", line 11, in <module> sys.exit(main()) File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 68, in main command() File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 118, in perform_command handler(command, command_options) File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 926, in up scale_override=parse_scale_args(options['--scale']), File "/usr/lib/python2.7/site-packages/compose/project.py", line 424, in up get_deps File "/usr/lib/python2.7/site-packages/compose/parallel.py", line 69, in parallel_execute raise error_to_reraise TypeError: expected string or buffer 

这是重现它的步骤:

 (at your machine) ~ docker run --privileged -d docker:stable-dind ~ docker exec -ti *CONTAINER_ID* sh (inside of the docker container) ~ apk add --no-cache py-pip vim ~ pip install docker-compose (here edit a docker-compose.yml and paste the up yaml code) ~ docker-compose up 

我不知道是否是一个问题与python,docker,docker组成….

任何人都可以帮助我?

谢谢!