问题描述
我必须运行一个由full-stack-fastapi-postgresql生成的项目,而我停留在启动应用程序的第一步:docker-compose up -d
抛出FileNotFoundError。
我很确定这不是一个难题或问题,只是我缺少了一些东西,但我不知道为什么。看到命令运行版本,我很确定我的错误在这里。
版本:
Docker version 19.03.13,build 4484c46
docker-compose version 1.27.4,build unkNown
Poetry version 1.1.4
运行的命令:
pip install cookiecutter
在上面的部分中,我开始下载并响应写的所有要求(我刚刚输入“ Test”作为名称,并为每个要求输入的密码输入openssl rand -hex 32
)
$ cookiecutter https://github.com/tianGolo/full-stack-fastapi-postgresql
You've downloaded /Users/jojomoon/.cookiecutters/full-stack-fastapi-postgresql before. Is it okay to delete and re-download it? [yes]: yes
project_name [Base Project]: Test
project_slug [test]:
domain_main [test.com]:
domain_staging [stag.test.com]:
docker_swarm_stack_name_main [test-com]:
docker_swarm_stack_name_staging [stag-test-com]:
secret_key [changethis]: 1280bf10bc3ebdf435834b2fc98e098144700bd27dfc43f62c2dcdd52741a5ac
first_superuser [admin@test.com]:
first_superuser_password [changethis]: 81ec188f2f509483aeb7d877376220e81b5e4e1694fc4b1ee11028c923e340e8
backend_cors_origins [["http://localhost","http://localhost:4200","http://localhost:3000","http://localhost:8080","https://localhost","https://localhost:4200","https://localhost:3000","https://localhost:8080","http://dev.test.com","https://stag.test.com","https://test.com","http://local.dockertoolBox.tianGolo.com","http://localhost.tianGolo.com"]]:
smtp_port [587]:
smtp_host []:
smtp_user []:
smtp_password []:
smtp_emails_from_email [info@test.com]:
postgres_password [changethis]: 39f987c0f2e31a2a594f07eb0e67e2e15766f5a9f93062fc37d0ea66c908279f
pgadmin_default_user [admin@test.com]:
pgadmin_default_user_password [81ec188f2f509483aeb7d877376220e81b5e4e1694fc4b1ee11028c923e340e8]:
traefik_constraint_tag [test.com]:
traefik_constraint_tag_staging [stag.test.com]:
traefik_public_constraint_tag [traefik-public]:
flower_auth [admin:81ec188f2f509483aeb7d877376220e81b5e4e1694fc4b1ee11028c923e340e8]:
sentry_dsn []:
docker_image_prefix []:
docker_image_backend [backend]:
docker_image_celeryworker [celeryworker]:
docker_image_frontend [frontend]:
错误
在生成的README.md中,他们说要安装docker,docker-compose和poetry。之后,我启动docker-compose up -d
以启动项目,然后...(显示第一个错误和最后一行,如果需要,可以更多)。
jojomoon at MacBook-Pro-de-Johann in ~/Desktop/entretien/test
$ docker-compose up -d
Traceback (most recent call last):
File "/usr/local/Cellar/docker-compose/1.27.4_1/libexec/lib/python3.9/site-packages/urllib3/connectionpool.py",line 670,in urlopen
httplib_response = self._make_request(
File "/usr/local/Cellar/docker-compose/1.27.4_1/libexec/lib/python3.9/site-packages/urllib3/connectionpool.py",line 392,in _make_request
conn.request(method,url,**httplib_request_kw)
File "/usr/local/Cellar/python@3.9/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py",line 1255,in request
self._send_request(method,body,headers,encode_chunked)
File "/usr/local/Cellar/python@3.9/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py",line 1301,in _send_request
self.endheaders(body,encode_chunked=encode_chunked)
File "/usr/local/Cellar/python@3.9/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py",line 1250,in endheaders
self._send_output(message_body,line 1010,in _send_output
self.send(msg)
File "/usr/local/Cellar/python@3.9/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py",line 950,in send
self.connect()
File "/usr/local/Cellar/docker-compose/1.27.4_1/libexec/lib/python3.9/site-packages/docker/transport/unixconn.py",line 43,in connect
sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception,another exception occurred:
...
File "/usr/local/Cellar/docker-compose/1.27.4_1/libexec/lib/python3.9/site-packages/docker/api/client.py",line 212,in _retrieve_server_version
raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.',FileNotFoundError(2,'No such file or directory'))
请问我做错了什么?我是否必须在一开始就填写所有要求的值?我还没有全部,我只想在本地运行此样板)
解决方法
您是否正确设置了docker / virtualbox?例如,对于MacOS,有一个描述here。 TL; DR复制到此处:
$ brew install docker docker-machine
$ brew cask install virtualbox
-> need password
-> possibly need to address System Preference setting
$ docker-machine create --driver virtualbox default
$ docker-machine env default
$ eval "$(docker-machine env default)"
$ docker run hello-world