#python #docker #docker-compose #fastapi #cookiecutter
#python #docker #docker-compose #fastapi #cookiecutter
Вопрос:
Мне нужно запустить проект, созданный 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 и поэзии. После этого я запускаю 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, url, 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, 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 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'))
Пожалуйста, что я сделал не так? Должен ли я заполнить все заданные значения в начале? У меня их нет, и я просто хочу запустить этот шаблон локально)
Ответ №1:
Вы правильно настроили docker / virtualbox? Например, для macOS здесь есть описание. 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
Комментарии:
1. ДА, это работает! Спасибо! Конечно, у меня были некоторые проблемы с virtualbox (удаление некоторых файлов, когда на моем Mac закончилась память)