Docker-Compose가 Docker Daemon에 연결할 수 없습니다.
도커 데몬에 연결할 수 없다는 오류 메시지가 표시됩니다.비슷한 문제가 있었던 다른 사람들의 답변을 알아봤지만 도움이 되지 않았습니다.Ubuntu 15.10 버전을 실행하고 있습니다.제가 가진 모든 정보를 제공하도록 노력하겠습니다.
root@# docker-compose -f docker-compose-deps.yml up -d
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.
도커 버전
root@# sudo docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
도커-합성 버전
root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3
서비스를 중지하거나 시작하려고 하면 이렇게 됩니다.
root@# sudo service docker stop
stop: Unknown instance:
root@# sudo service docker start
docker start/running, process 5375
가 가내뛰면을 하면,ps aux | grep docker
root@# ps aux | grep docker
root 4233 0.0 0.0 13692 2204 pts/15 S+ 10:27 0:00 grep --color=auto docker
어떤 도움이라도 주시면 대단히 감사하겠습니다.더 필요한 정보가 있으면 알려주세요.
15분 동안 디버깅한 후에도 같은 오류가 발생했습니다.알고 보니 필요한 것은sudo
:)
sudo 접두사를 제거하려면 루트가 아닌 사용자로 도커 관리를 선택하십시오.
나는 이 문제가 있었고 사용하여 일을 망치고 싶지 않았습니다.sudo
할 때저는 : 사할때몇가, 는정보를얻노다니습력했고으려조지저▁when▁:다니노습조력했▁i▁info▁some▁to.
docker info
놀랍게도 다음과 같은 오류가 있었습니다.
unix://var/run/docker.sock: http:///var/run/docker.sock/v1.38/info: dialunix/var/run/docker의 Docker 데몬 소켓에 연결하는 동안 사용 권한이 거부되었습니다.양말: 연결: 권한이 거부되었습니다.
어떤 이유에서인지 충분한 권한이 없어서 다음 명령을 사용하여 문제를 해결했습니다.
sudo chown $USER /var/run/docker.sock
에트볼랴!
도커가 충돌한 후 소켓 파일이 다시 생성되지 않은 오래된 도커 버그로 인해 문제가 발생한 것 같습니다.이 문제가 발생하는 경우 소켓 파일의 이름을 변경하면 소켓 파일을 다시 만들 수 있습니다.
$ sudo service docker stop
$ sudo mv /var/lib/docker /var/lib/docker.bak
$ sudo service docker start
은 " 이버가수었기때대문부사얻오습다니류를은들람의분에그"라는 오류를 .Couldn't connect to Docker daemon
아마도 그들이 없기 때문에 그것을 받고 있을 것입니다.docker
그룹화하여 해당 파일을 읽을 수 있는 권한이 없습니다. 함께 sudo docker ...
해결할 수는 있겠지만, 좋은 해결책은 아닙니다.
아닌 사용자로 할 수 .sudo
적절한 그룹 권한이 있는 경우.Linux 설치 후 문서에는 자세한 내용이 나와 있습니다.짧은 버전:
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
# Log out and log back in again to apply the groups
$ groups # docker should be in the list of groups for your user
$ docker run hello-world # Works without sudo
는 이통사는자에 수 .docker
을 운영하는 docker
그리고.docker-compose
: " " " 를 사용하지 않는 명령sudo
도커 자체는 루트를 실행하여 일부 공격을 허용하므로 실행하는 컨테이너에 대해서는 여전히 주의해야 합니다.자세한 내용은 도커 보안 설명서를 참조하십시오.
저도 같은 문제가 있었습니다.몇 가지 디버깅 결과를 메모하고 분석한 후, 마침내 같은 오류일 수 있는 것을 해결했습니다.먼저 서비스를 시작합니다.
service docker start
사용자를 도커 그룹에 포함하는 것을 잊지 마십시오.
을시해보로 .sudo
허가 문제인 것 같습니다!
sudo docker-compose -f docker-compose-deps.yml up -d
그것은 나에게 효과가 있었다.
하는 한 를 이문를해한가방먼다다것추입니에 입니다.docker
을 .
sudo usermod -aG docker $USER
중요: 터미널뿐만 아니라 시스템에서 로그아웃했다가 다시 로그인해야 합니다!
다음과 같은 방법으로 "도커" 그룹에 사용자를 추가해야 합니다.
sudouser 모드 - aG 도커 ${USER}
제 경우에는 우분투 권한 때문입니다.
- 리스트 항목
사용 권한 확인
docker info
그들이 문제 허가를 인쇄하는 경우, 다음을 사용합니다.
sudo chmod -R 777 /var/run/docker.sock
는 파이있때이발생다니습했에 때 이 를 얻었습니다.Dockerfile
현재 사용자가 액세스할 수 없는 디렉터리입니다.docker
따라서 전체 컨텍스트를 데몬에 업로드할 수 없으며 "Could not connect to Docker daemon at http+docker://localunixsocket" 메시지가 표시됩니다.
"ps aux | grep docker"의 출력을 보면, 도커 데몬이 실행되고 있지 않은 것처럼 보입니다.아래 방법을 사용하여 무엇이 잘못되었고 도커가 시작되지 않는 이유를 확인해 보십시오.
- 도커 로그 확인
sudo tail -f /var/log/upstart/supser.log
- 디버그 모드에서 도커 시작 시도
sudo 도커 -d -D
이 오류가 나타날 수 있는 또 다른 이유: 나에게 그것은 잘못된 형식의 이미지 경로 정의였습니다.docker-compose.yml
:
service:
image: ${CONTAINER_REGISTRY_BASE}/my-service
...
처음엔 괜찮지만, 난...CONTAINER_REGISTRY_BASE=eu.gcr.io/my-project/
환경을 설정합니다. 보하니그아그▁apparent니.//
이미지 경로에서 이 오류가 발생했습니다.
docker-compose: v.1.21.2
docker: 18.03.1-ce
나의 경우 도커 서비스가 중지될 수 있습니다.
도커 서비스를 시작하는 명령:
$ sudo systemctl start docker
시작 여부를 확인하는 명령:
$ sudo docker run hello-world
나는 Ubuntu 16.04를 사용했고 도커 컴포지를 사용했을 때도 이 문제를 발견했습니다.이 명령을 실행하여 수정했습니다.
$ sudo systemctl start docker
$ sudo docker-compose build
기본 컴퓨터를 삭제했을 가능성이 조금 있습니까?그러나, 먼저 모든 파일이 있는지 확인합니다(OSX, 다른 시스템에서도 유사함).
brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
brew link docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
또한 Docker App을 설치합니다. 컨테이너를 유지 관리하는 것이 훨씬 쉽기 때문입니다.
brew cask reinstall docker
그리고 파인더에서 도커 앱을 시작합니다(서비스가 완전히 시작될 때까지 기다립니다)
그런 다음 다음을 사용하여 설치를 확인합니다.
docker-machine ls
목록에 컴퓨터가 없으면 컴퓨터를 만들고 시작합니다.
docker-machine create default
docker-machine start default
이 후에는 빌드, 작성 및 기타 모든 명령이 제대로 작동합니다.
최종 솔루션:먼저 sudochown $USER /var/run/docker 명령을 실행합니다.양말을 신은 다음 명령을 실행합니다: 도커 - 컴포지 업 -d --build.
나의 경우 a는 내가 시도할 때 동일한 오류가 발생합니다.docker-compose build
그리고 제 해결책은 그냥 추가하는 것이었습니다.sudo
sudo docker-compose build
저에게 수정 사항은 새로운 버전(1.24)을 설치하는 것이었습니다.docker-compose
이 기사를 사용하여
이전 버전(1.17)이 설치되었습니다.ubuntu
의 기본 리포지토리이지만 최신 버전을 설치한 후 컨테이너를 시작할 수 있었습니다.누군가에게 도움이 되길 바랍니다.
접근권 때문인 것 같아요, 그냥 글을 쓰시면 됩니다.
sudo docker-compose-deps.yml up
제 경우에는 부적절한 이미지 태그 이름에 문제가 있었습니다.-backend
짧은 선행 대시로 시작:
실패:
version: '2.4'
services:
my-service:
container_name: my.backend
image: imagename:-backend
build:
context: .
오류 메시지:
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
작업: 사용my-backend
version: '2.4'
services:
my-service:
container_name: my.backend
image: imagename:my-backend
build:
context: .
하는 데 도움이 되었습니다.sudo chown -Rv someuser.someuser ~someuser/docker_compose_dir/
,어디에someuser
실행 중인 사용자입니다.docker-compose
밑에. 그 이후로.docker-compose
순조롭게 진행되었습니다.
도커 데스크톱이 설치되어 있으면 다음을 실행할 수 있습니다.
docker context list
도커 데스크톱과 함께 실행되는 엔진에 대한 도커 URL이 제공됩니다.
그런 다음 설정할 수 있습니다.DOCKER_HOST
구성할 환경 변수입니다.
제 경우에는 아래에 추가했습니다.~/.bashrc
:
export DOCKER_HOST="unix:///home/rouanubuntu/.docker/desktop/docker.sock"
이것은 데스크톱 UI로 실행되는 엔진에 도커 컴포지션을 제공하므로 유용합니다.
다음 그럼실을 실행합니다.source ~/.bashrc
다시 로그인하여 로드할 수 있습니다.
저에게 그것은 누락된 환경 변수였습니다. 경고를 읽는 것이 실제로 도움이 되었습니다.다른 사람에게도 도움이 되는 경우:
docker-compose.yml:
version: '2.4'
services:
app:
image: my/app:${BUILD}
build:
args:
GIT_BUILD_INFO: ${GIT_BUILD_INFO}
Ubuntu 20.04의 Bash 기록을 통해 문제 복제:
$ docker-compose -p energycontrol -f docker-compose-jenkins.yml build
WARNING: The BUILD variable is not set. Defaulting to a blank string.
WARNING: The GIT_BUILD_INFO variable is not set. Defaulting to a blank string.
Building app
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-06-20 11:31:14 CEST; 4min 9s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 2504 (dockerd)
Tasks: 56
Memory: 268.3M
CGroup: /system.slice/docker.service
└─2504 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jun 20 11:31:30 dozer dockerd[2504]: time="2023-06-20T11:31:30.901226992+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:31:35 dozer dockerd[2504]: time="2023-06-20T11:31:35.860433546+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:31:43 dozer dockerd[2504]: time="2023-06-20T11:31:43.235052163+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:31:53 dozer dockerd[2504]: time="2023-06-20T11:31:53.702991779+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:32:08 dozer dockerd[2504]: time="2023-06-20T11:32:08.434441406+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:32:35 dozer dockerd[2504]: time="2023-06-20T11:32:35.534456987+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:33:28 dozer dockerd[2504]: time="2023-06-20T11:33:28.203608203+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:34:30 dozer dockerd[2504]: time="2023-06-20T11:34:30.647314927+02:00" level=info msg="ignoring event" container=1c188fbed9835609677392e4e8ab14f0d0ffefce0cb5ed29362377c05c3ffc67 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jun 20 11:34:46 dozer dockerd[2504]: time="2023-06-20T11:34:46.218537851+02:00" level=error msg="Handler for POST /v1.35/build returned error: invalid reference format"
Jun 20 11:35:12 dozer dockerd[2504]: time="2023-06-20T11:35:12.058911161+02:00" level=error msg="Handler for POST /v1.35/build returned error: invalid reference format"
환경 변수를 설정한 후 모든 것이 해결되었습니다.
$ export BUILD="temp"
$ export GIT_BUILD_INFO="something"
$ docker-compose -f docker-compose.yml build
Building app
[...]
Successfully built f0b57a1cfbaa
저는 이것을 발견했고 그것이 제 문제를 해결하는 것처럼 보였습니다.
나는 링크에서 본 것처럼 도커-compose-deps.yml 파일의 내용을 변경했습니다.그때 나는 달렸습니다.docker-compose -f docker-compose-deps.yml up -d
그러고 나서 다시 바꿨더니 무슨 이유에서인지 작동했습니다.제가 제공한 링크의 단계를 계속 진행할 필요가 없었지만, 처음 두 단계에서 문제가 해결되었습니다.
언급URL : https://stackoverflow.com/questions/34532696/docker-compose-cant-connect-to-docker-daemon
'programing' 카테고리의 다른 글
Cant start mariadb after switching Data Directory (0) | 2023.08.08 |
---|---|
세그먼트에 숫자를 제한하는 가장 우아한 방법은 무엇입니까? (0) | 2023.08.08 |
모서리가 둥근 이미지 보기를 만드는 방법은 무엇입니까? (0) | 2023.08.08 |
SQL 프로시저에서 테이블을 반환할 수 있습니까? (0) | 2023.08.08 |
그리스몽키에서 jQuery를 사용하려면 어떻게 해야 합니까? (0) | 2023.08.08 |