Docker Community Forums

Share and learn in the Docker community.

Requirements for docker-compose?


(Marc Richter) #1

Hi everyone!

I cannot find any docs about compose’s requirements.

Python

It starts during the installation: When following the docs, it reads:

If you have problems installing with curl, you can use pip instead: pip install -U docker-compose

I cannot find the info if pip of Python2 or Python3 has to be used. The same is for compose itself: Has it to be used with Python2 or Python3?

Docker Engine/Client

Also, I cannot find anything about what Docker Engine/Client is needed to have latest compose (1.4.0) running.
I’m using Ubuntu 15.04 (vivid). This is shipped with the following Docker components:

Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.3.3
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.3.3
Git commit (server): a8a31ef

I followed the Quickstart Guide for Wordpress and this is what I get when I run docker-compose up:

mr@judge:~/Schreibtisch/wp_compose_demo/wordpress$ docker-compose up
Pulling db (orchardup/mysql:latest)...
Pulling repository orchardup/mysql
ab3b99429ab1: Download complete
511136ea3c5a: Download complete
2758ea31b20b: Download complete
25c55ec6c1ab: Download complete
dae3606452c3: Download complete
fa5288457082: Download complete
b9e56c8f2cf5: Download complete
db9e8e4146a4: Download complete
0b6a7c9a0a7f: Download complete
a020988ba8ca: Download complete
d89ab5cf0150: Download complete
222dbd4c9c5a: Download complete
c245bc9bf11f: Download complete
0e15b00347c9: Download complete
3c2d5a5db636: Download complete
061b756f7e0d: Download complete
Status: Downloaded newer image for orchardup/mysql:latest
Creating wordpress_db_1...
Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 9, in <module>
    load_entry_point('docker-compose==1.4.0', 'console_scripts', 'docker-compose')()
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 39, in main
    command.sys_dispatch()
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 21, in sys_dispatch
    self.dispatch(sys.argv[1:], None)
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 27, in dispatch
    super(Command, self).dispatch(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 24, in dispatch
    self.perform_command(*self.parse(argv, global_options))
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 59, in perform_command
    handler(project, command_options)
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 495, in up
    timeout=timeout
  File "/usr/local/lib/python2.7/dist-packages/compose/project.py", line 265, in up
    timeout=timeout
  File "/usr/local/lib/python2.7/dist-packages/compose/service.py", line 369, in execute_convergence_plan
    do_build=do_build,
  File "/usr/local/lib/python2.7/dist-packages/compose/service.py", line 276, in create_container
    return Container.create(self.client, **container_options)
  File "/usr/local/lib/python2.7/dist-packages/compose/container.py", line 42, in create
    response = client.create_container(**options)
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 243, in create_container
    volume_driver
  File "/usr/local/lib/python2.7/dist-packages/docker/utils/utils.py", line 539, in create_container_config
    'labels were only introduced in API version 1.18'
docker.errors.InvalidVersion: labels were only introduced in API version 1.18
mr@judge:~/Schreibtisch/wp_compose_demo/wordpress$

Seems as if my Docker version isn’t recent enough to use docker-compose … yesterday, somehow, I got another error, saying client and server don't have same version. No idea how I managed it to be gone and replaced by the error showed above …

So: What exactly are the requirements for latest docker-compose and how best to achieve them on a Ubuntu 15.04 system, without messing up the package database?