You are not logged in.
Hello,
I installed docker and docker-compose from pacman. I didn't touched their config in any way.
I have my image ready, and now want to make it easier for others to run my web application (which requires a database running in another container) by using docker-compose. I want to build the following simple docker-compose.yml
version: '3'
services:
silverstripe:
image: silverstripe:0.0.1
build:
context: .
depends_on:
- mysql
networks:
- devnet
volumes:
- ./src:/var/www/localhost/htdocs
mysql:
image: mysql
networks:
- devnet
networks:
devnet:
driver: bridge
dockerd is running
$ sudo systemctl start docker
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ sudo docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.12.6
Storage Driver: devicemapper
Pool Name: docker-8:2-3934984-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 11.8 MB
Data Space Total: 107.4 GB
Data Space Available: 94.92 GB
Metadata Space Used: 581.6 kB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.147 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.137 (2016-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host null bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.9.6-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 6.749 GiB
Name: banana
ID: YWOZ:XHDS:CTRU:TENB:3FA4:ZFOS:2AXO:YGLD:5Q2Q:GDG4:SK2M:CP3R
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
docker-compose is giving me an error if I want to build the file above
$ sudo docker-compose build
[sudo] password for leonixyz:
mysql uses an image, skipping
Building silverstripe
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
The default location for docker's socket is /var/run/docker.sock, but exporting DOCKER_HOST=unix:///var/log/docker.sock or passing -H to docker-compose seem to make no difference (note the ERROR line is weirdly still referencing the same location as before)
$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jan 30 22:42 /var/run/docker.sock
$ sudo docker-compose -H unix:///var/run/docker.sock build
mysql uses an image, skipping
Building silverstripe
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
finally, also docker-compose up (without having anything built) seems having troubles finding the socket
sudo docker-compose up
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 210, in _raise_for_status
response.raise_for_status()
File "/usr/lib/python3.6/site-packages/requests/models.py", line 909, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 44, in handle_connection_errors
yield
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command
handler(command, command_options)
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 848, in up
remove_orphans=remove_orphans)
File "/usr/lib/python3.6/site-packages/compose/project.py", line 379, in up
warn_for_swarm_mode(self.client)
File "/usr/lib/python3.6/site-packages/compose/project.py", line 557, in warn_for_swarm_mode
info = client.info()
File "/usr/lib/python3.6/site-packages/docker/api/daemon.py", line 73, in info
return self._result(self._get(self._url("/info")), True)
File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 216, in _result
self._raise_for_status(response)
File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 212, in _raise_for_status
raise create_api_error_from_http_exception(e)
File "/usr/lib/python3.6/site-packages/docker/errors.py", line 30, in create_api_error_from_http_exception
raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info ("client is newer than server (client API version: 1.25, server API version: 1.24)")
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 11, in <module>
load_entry_point('docker-compose==1.10.0', 'console_scripts', 'docker-compose')()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 64, in main
command()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command
handler(command, command_options)
File "/usr/lib/python3.6/contextlib.py", line 100, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 54, in handle_connection_errors
log_api_error(e, client.api_version)
File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 71, in log_api_error
if b'client is newer than server' not in e.explanation:
TypeError: 'in <string>' requires string as left operand, not bytes
Am I missing something?
thanks in advance
----------------------
edit:
after seeing this:
$ ps aux | grep dockerd
root 13604 0.0 0.5 496600 38692 ? Ssl 22:42 0:02 /usr/bin/dockerd -H fd://
I tried this, but it's even more confusing...
$ sudo docker-compose -H fd:// build
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 11, in <module>
load_entry_point('docker-compose==1.10.0', 'console_scripts', 'docker-compose')()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 64, in main
command()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 113, in perform_command
project = project_from_options('.', options)
File "/usr/lib/python3.6/site-packages/compose/cli/command.py", line 36, in project_from_options
environment=environment
File "/usr/lib/python3.6/site-packages/compose/cli/command.py", line 111, in get_project
host=host, environment=environment
File "/usr/lib/python3.6/site-packages/compose/cli/command.py", line 83, in get_client
environment=environment, tls_version=get_tls_version(environment)
File "/usr/lib/python3.6/site-packages/compose/cli/docker_client.py", line 74, in docker_client
return APIClient(**kwargs)
File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 99, in __init__
base_url, IS_WINDOWS_PLATFORM, tls=bool(tls)
File "/usr/lib/python3.6/site-packages/docker/utils/utils.py", line 456, in parse_host
raise errors.DockerException("fd protocol is not implemented")
docker.errors.DockerException: fd protocol is not implemented
Last edited by leonixyz (2017-02-05 21:11:48)
Offline
Your user is in docker group? If not, try
sudo gpasswd -a user docker
and don't forget to relogin after that
Offline
Your user is in docker group? If not, try
sudo gpasswd -a user docker
and don't forget to relogin after that
No, I'm not in the docker group, but because I use docker prefixed by sudo, I don't need to be part of the docker group: i have su access to the socket file.
In the end it turned out that docker-compose.yml needed to start with
version: '2'
instead of
version: '3'
it seems that docker-compose error messages are handled very werdly.
Last edited by leonixyz (2017-02-05 21:16:34)
Offline