我正在尝试在一个docker container(docker:dind)中使用docker-compose来设置我的container,以便在gitlab ci上进行测试。
从昨天到今天,"docker-compose up"开始出现故障,我将错误减少到docker-compose.yml中服务的"ports"段。出现故障的最简单配置是:
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-compose的问题。
有人能帮我吗?
谢谢!
2条答案
按热度按时间hc2pp10m1#
**错误?**问题很可能(未给出)来自您的“docker-compose.yml”文件,docker需要一个字符串或类似字节的对象,但提供的一个或多个值不符合该格式。
解决方案-确保提供给docker-compose.yml属性文档的值格式正确。例如,有一次,我在以下属性中使用了错误的间距:即它看起来像;
但应该是
请注意所提供值的间距。
zte4gxcn2#
我在macOS上使用NestJS应用程序时遇到了类似的错误。
当我运行命令
docker-compose up
时,我得到错误:"我是这么解决的"
我检查了
docker-compose.yml
文件,发现它没有指定container port。我所要做的就是添加容器端口,即
3001
: