도커가 도커 데몬에 연결할 수 없음
을 도커로 후 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ0.8.0
▁entering를 입력하는 동안 오류 됩니다.sudo docker version
:
Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?
저는 에 따라 를 입력했습니다.sudo docker -d
그리고 난 이걸 얻었습니다.
[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory
어떻게 하면 문제를 해결할 수 있을까요?
리눅스
Linux용 설치 후 단계 설명서에는 다음 단계가 나와 있습니다.
- 도커 그룹을 만듭니다.
sudo 그룹 추가 도커
- 사용자를 도커 그룹에 추가합니다.
sudouser 모드 - aG 도커 $(와미)
- 로그아웃했다가 다시 로그인하여 올바른 권한으로 도커가 실행되는지 확인합니다.
- 도커를 시작합니다.
sudo 서비스 도커 시작
맥 OS X
Dayel Ostaco는 환경 변수를 추가할 필요가 있다고 말합니다.
docker-machine start # Start virtual machine for docker
docker-machine env # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables
그docker-machine start
명령은 프로세스를 안내하는 주석을 출력합니다.
리눅스
CLI에서 Linux에서 도커 데몬을 실행하려면 다음을 실행합니다.
$ sudo service docker start # Ubuntu/Debian
참고: 를 건너뜁니다.$
문자를 복사하여 붙여넣을 때 사용합니다.
RedHat/CentOS에서 다음을 실행합니다.sudo systemctl start docker
.
기본 파일 시스템을 초기화하려면 다음을 실행합니다.
$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start
또는 수동으로 다음과 같이 입력합니다.
$ sudo docker -d --storage-opt dm.basesize=20G
를 설치합니다.docker-machine
리눅스에서
Linux에 시스템 바이너리를 설치하는 방법
로컬:
install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine
전역:
sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine'
macOS
에서는 macOS를 합니다.docker
데몬을 하는 데 할 수 . 은 Linux 기능을 수 . 은 도커를 설치해야 . 도커 데몬은 Linux 전용 커널 기능을 사용하기 때문에 OS X에서 도커를 기본적으로 실행할 수 없습니다. 따라서 설치해야 합니다.docker-machine
VM을 생성하여 VM에 연결합니다.
를 설치합니다.docker-machine
macOSmacOS에서 사용할 수 .
아직 명령이 없는 경우 다음 방법 중 하나를 사용하여 명령을 설치합니다.
- Brew 명령 사용:
brew install docker-machine docker
. GitHub에서 수동으로:
install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
참조: Mac용 Docker를 시작하십시오.
를 구성합니다.docker-machine
macOSmacOS에서 사용할 수 .
홈브루를 통해 도커 머신을 시작하려면 다음을 실행합니다.
brew services start docker-machine
을 default
machine 없다면 machine (기계)을하세요.docker-machine ls
):
docker-machine create --driver virtualbox default
그런 다음 Docker 클라이언트를 위한 환경을 설정합니다.
eval "$(docker-machine env default)"
그런 다음 용기를 나열하여 다시 확인합니다.
docker ps
MacOS에 Docker.app 설치
위의 솔루션 대신 다음 방법으로 도커 앱을 설치할 수 있습니다.
brew cask install docker
자세한 내용은 이 게시물을 참조하십시오.참고 항목: MacOS에서 Docker 데몬에 연결할 수 없습니다.
만약 당신이 OS X에서 Docker를 실행하고 있다면, 다음 평가를 실행하는 것이 저에게 효과가 있었습니다.
eval "$(docker-machine env default)"
모든 세션에서 이 이 문을 모든미터서이평문않실행면으이다려있니습수에 수bash_profile
:
#Docker
eval "$(docker-machine env default)"
터미널 세션을 다시 시작하거나 소스를 실행해야 합니다.bash_profile
변경 사항을 적용할 수 있습니다.
자세한 조사 후 Mac OS X를 재부팅한 후(또는 Docker 가상 시스템을 다시 시작한 후)마다 이 문제가 발생하는 것으로 보이며, 이로 인해 Docker 클라이언트가 Docker 데몬에 연결할 수 없습니다.
이 문제를 해결하려면 다음 중 하나를 수행합니다.
공식 설치 프로그램(https://www.docker.com/products/docker-toolbox), 또는 간단히)을 사용하여 Docker Toolbox를 다시 설치합니다.
다음 명령을 순서대로 실행합니다.
# First make sure that the virtual machine is running
docker-machine start default
# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default
# Finally, set env
eval "$(docker-machine env default)"
(B)와 마찬가지로 다음 행을 복사하여 붙여넣어 세 가지 명령을 모두 실행할 수도 있습니다.
docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"
다음과 같은 오류가 발생하는 경우:
Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err : exit status 255
output :
세 개의 명령을 다시 실행하면 두 번째로 작동합니다.
이 은이일당없때발을다생니합신에 없을 때 합니다.docker
에 할 수 . 당신은 당신 자신을 추가할 수 있습니다.docker
그룹 구성:
sudo usermod -aG docker yourusername
또는
sudo usermod -aG docker $(whoami)
그런 다음 로그아웃한 후 서버에 다시 로그인해야 합니다.
또는 다음과 같은 작업을 수행할 수 있습니다.sudo
모든 도커 명령.
이 모두하지 않으면 해 볼 수 ./var/run/docker.sock
:
ls -l /var/run/docker.sock
소유자가 아닌 경우 다음 명령을 사용하여 소유권을 변경합니다.
sudo chown *your-username* /var/run/docker.sock
그런 다음 Docker 명령을 번거롭게 실행해 볼 수 있습니다.D
명령을 사용할 수 있습니다.
sudo service docker stop && sudo service docker start
OR
sudo service docker restart
간단히 다시 시작할 수 있습니다.
도커가 작동하지 않는 이유를 알아내는 가장 좋은 방법은 데몬을 수동으로 실행하는 것입니다.
$ sudo service docker stop
$ ps aux | grep docker # do this until you don't see /usr/bin/docker -d
$ /usr/bin/docker -d
도커 데몬은 STDOUT에 로그인하므로 무엇을 하든 뱉기 시작합니다.
제 문제는 다음과 같습니다.
[8bf47e42.initserver()] Creating pidfile
2015/01/11 15:20:33 pid file found, ensure docker is not running or delete /var/run/docker.pid
이는 인스턴스가 다른 가상 시스템에서 복제되었기 때문입니다.그냥 pid 파일을 제거해야 했고, 그 후에 모든 것이 작동했습니다.
물론 이 방법이 효과가 있을 거라고 맹목적으로 가정하는 대신, 서비스 백업을 시작하기 전에 데몬을 수동으로 한 번 더 실행하고 로그 출력에서 다른 오류를 확인하는 것이 좋습니다.
를 .ps aux | grep docker
데몬이 실행 중인지 확인합니다.실행하지 않을 경우/etc/init.d/docker start
당신이 메시지를 받으면,Can't connect to docker daemon. Is 'docker -d' running on this host?
확하실수다니로 하실 수 .docker version
.
Docker Client가 실행되고 있지만 Docker Server가 실행되고 있지 않은 경우 Docker 서버를 시작해야 합니다.
할 수 .OS에서 다음을 사용할 수 있습니다.service
Docker 서버를 시작하거나 중지합니다.
$ sudo service docker stop
$ sudo service docker start
그런 다음 입력 후에docker version
도커 클라이언트 및 도커 서버의 정보를 얻을 수 있으며 도커 데몬이 시작되었습니다.
Docker CE 앱 사용
macOS
새로운 MacOS용 Docker Community Edition 앱을 사용합니다.예:
지금까지 설치한 모든 Docker Homebrew 패키지를 제거합니다.
brew uninstall docker-compose brew uninstall docker-machine brew uninstall docker
수동으로 또는 Homebrew-Cask를 통해 앱을 설치합니다.
brew install --cask docker
이합니다.docker
,docker-compose
,docker-machine
타기.
- 앱을 실행한 후 상태 메뉴에서 도커 고래 아이콘을 확인합니다.
- 은 이제사수있다니를 할 수 것입니다.
docker
,docker-compose
,docker-machine
명령을 입력합니다.
관련:
리눅스/윈도우즈
다운로드 페이지에서 Docker CE를 다운로드하고 지침을 따릅니다.
저도 비슷한 문제가 있어요.Docker를 설치한 지 얼마 되지 않아 다음 명령어가 환경에 표시되지 않아 로그아웃하고 셸에 다시 로그인해야 했습니다.
export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc
Docker를 설치한 후 다시 시작합니다.
$ sudo service docker stop
$ sudo service docker start
그리고 그것은 동작한다.
이 문제에 직면하여 다음 명령을 사용하여 Docker를 다시 시작했습니다.
$ sudo service docker stop
$ sudo service docker start
도커 명령을 을 잊어버려서 . 왜냐하면 저는 도커 명령을 실행하는 것을 잊어버렸기 때문입니다.sudo
이 문제에 직면한 사람들을 위해, 그것을 확인해 보세요.
해라
$ sudo docker info
이 대신에:
$ docker info
시도하고 있습니다.docker-machine regenerate-certs
또는eval..
저한테는 안 통했어요.
이 버전은 OS X 10.11.3(El Capitan) 및 Docker v1.10.1에서 제공됩니다.도커 머신을 삭제하고 다시 만들어야 고칠 수 있었습니다.출처
을 실행하는 docker-machine ls
아래의 출력과 유사한 출력을 보여줍니다.
도커
알 수 없는
오류
도커 버전을 쿼리할 수 없음: 도커 엔진 끝점에 연결할 수 없습니다.
다음을 사용하여 도커 기계를 제거해 보십시오.
docker-machine rm -f default
에▁where디default
도커 컴퓨터 이름입니다.그러면;
docker-machine create -d virtualbox default
새 도커 컴퓨터를 만듭니다.
다음을 사용하여 모든 것이 정상으로 보이는지 다시 확인합니다(오류 또는 알 수 없는 도커 없음:
docker-machine ls
마지막으로 달리는 것을 잊지 마세요."$(docker-machine env default)"
Docker Quickstart Terminal 실행하기에전속을계나...
저는 이 게시물에 이미 많은 답변이 있다는 것을 알고 있었습니다.위에서 언급한 문제를 해결한 간단한 답변을 하나 추가하고 싶습니다.
sudo systemctl start docker
위 명령을 실행하면 모든 도커 관련 스레드/서비스가 시작됩니다.
2020년 4월 MacOS Catalina에서 데스크톱 애플리케이션을 열기만 하면 됩니다.
다음 명령을 실행합니다.
docker context use default
를 현재사에추보십에 해 보세요.docker
선택사항:
sudo usermod -aG docker $USER
그런 다음 로그아웃하고 로그인합니다.
"도커 데몬에 연결할 수 없습니다."와 같은 문제가 있었습니다. (서버를 시작할 때 'file not found' 오류가 발생하지 않았다는 점만 제외하면)
'ps'는 "/usr/bin/computer-d"가 여전히 실행 중임을 나타냄
하지만 저는 제가 실제로 서버를 실행하는 데 성공한 적이 없다는 것을 깨달았습니다.모든 시도가 만들어낸
...
2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid
그래서 나는 도커를 설치하는 것이 나를 위해 그것을 시작한 데몬을 업스타트에 등록했을지도 모른다는 것을 뒤늦게 깨달았습니다.따라서 수동으로 다시 시작하기 위해 데몬을 죽이려 하면 실패합니다(작업이 허용되지 않음).그래서 저는.
sudo kill -9 <PID>
데몬 프로세스에서.다른 데몬이 즉시 대체되었으며, 이 새로운 데몬은 이제 CLI 클라이언트를 연결할 수 있습니다.
$ sudo docker info
Containers: 0
Images: 0
Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 0
WARNING: No memory limit support
WARNING: No swap limit support
도커의 DOC 사이트 다음:Docker를 루트가 아닌 사용자로 관리
도커 그룹 만들기
sudo groupadd docker
그룹의 권한을 얻으려면 사용자를 도커 그룹에 속하도록 합니다.
sudo usermod -aG docker $USER
셸에 DOKER_HOST 환경 변수가 설정되어 있는지 확인합니다.
env | grep DOCKER_HOST
만약 존재한다면,
unset DOCKER_HOST
그러면 다음과 같이 작동합니다.
docker run hello-world
방금 아마존 AWS에서 실행 중인 동일한 문제가 있었습니다.
제가 시도한 것은 다음과 같습니다.
docker-machine
하는 AWS 로 사용하는 AWS 인스턴스입니다.- 사용된 일반 설정
- 연결이 되었는데 원격 포트가 닫혀 있어서 실패했습니다.
- 그 후 도커 데몬은 시작을 거부했지만 실행 중입니다.
dockerd
효과가 있었습니다...
원격 시스템에서 다음과 같이 테스트되었습니다.
service docker start # Also restart, no success
systemctl start docker # Also restart, no success
dockerd # Success
제거했습니다./var/lib/docker
모두 제거했지만 다시 설치한 후 성공하지 못했습니다.유감스럽게도 장애로부터 저장된 로그가 없습니다.docker.service
그냥 시작하기를 거부했습니다.
하지만, 마침내 제 문제를 해결한 것은 기본적으로 다음과 같습니다.
sudo usermod -aG docker $(whoami)
리눅스
당신은 이 답변 https://stackoverflow.com/a/33596140/13997503 을 사용할 수 있으며, 이것을 사용한 후에도 여전히 동일한 오류가 발생합니다.그러면 이전에 도커 데스크톱을 설치하고 이제 도커 엔진으로 전환했을 수 있습니다.
이 명령을 사용하여 도커 데스크톱 서비스 파일을 제거할 수 있습니다.
$ rm -rf ~/.docker
저도 같은 문제가 생겼어요.CentOS 6.5에서:
ps aux |grep `cat /var/run/docker.pid`
도커 데몬 프로세스가 존재하지 않는 것으로 나타나면 다음과 같이 입력합니다.
docker -d
그런 다음 +를 눌러 도커를 중지합니다.우리는 그것을 사용하기 때문에-d
Docker는 데몬으로 실행됩니다.이제 할 수 있습니다.
service docker start
그럼 저는 할 수 있어요.docker pull centos
이상입니다.
참고: 작동하지 않는 경우 시도할 수 있습니다.yum update
그리고 나서 이것들을 다시 반복합니다, 왜냐하면 저는.yum install
이들보다 먼저
Docker 도구를 사용하여 OS X에서 실행 중인 경우 다음을 따르십시오.
데몬을 다시 시작하고 환경을 구성합니다.
docker-machine restart
그리고 나서.
docker-machine env
마침내.
eval $(docker-machine env)
데몬이 실행 중인지 테스트하는 방법:
docker ps -a
또는docker-machine ls
모든 컨테이너가 나열됩니다.
도커 서비스가 실행되고 있지 않을 수 있습니다.
RedHat/Fedora/CentOS를 사용하는 경우 다음을 시도해 보십시오.
sudo systemctl start docker
Ubuntu/Debian에 있는 경우:
sudo service start docker
도커가 호스트와 해당 포트에서 실행되기 시작합니다.
이 문제를 해결하려면 도커 서비스를 활성화해야 했습니다.
sudo systemctl enable /usr/lib/systemd/system/docker.service
도커 머신을 사용하고 있는지 확인합니다 :)
려달을 합니다.docker-machine env default
그 묘기를 부려야 합니다.
문서에 따르면 다음과 같습니다.
하고 Docker Machine을 사용하여 할 수 입니다.
docker-machine
명령을 실행합니다.Machine을 사용하여 로컬 Mac 또는 Windows 박스, 회사 네트워크, 데이터 센터 또는 AWS 또는 Digital Ocean과 같은 클라우드 공급자에 Docker 호스트를 만들 수 있습니다.용사를 합니다.
docker-machine
관리 호스트를 시작, 검사, 중지 및 재시작하고, Docker 클라이언트 및 데몬을 업그레이드하고, 호스트와 통신하도록 Docker 클라이언트를 구성할 수 있습니다.인 관리 호스트에서 CLI를 할 수 .
docker
해당 호스트에서 직접 명령을 실행합니다.를 들어, 를 합니다.docker-machine env default
호트를가다라는default
화면의따완료라지에를 합니다.env
및 : 정설, 실docker ps
,docker run hello-world
등등.
https://docs.docker.com/machine/overview/
- 저도 같은 문제가 있었습니다.도커-데몬 및 도커-클라이언트에 할당된 소켓에 문제가 있었습니다.
- 첫째, 도커의 도커-클라이언트에 대한 권한이 설정되지 않았습니다.양말 "sudouser mod -aG 도커 $USER"를 사용하여 설정할 수 있습니다.
- 그런 다음 도커-클라이언트가 실행 중인 bash 파일을 확인합니다. 저는 도커-대몬이 유닉스 소켓에서 실행되는 동안 0.0.0:2375에 있었습니다.(dockerd의 구성 파일에 설정되었습니다.)
- 바쉬라인에 댓글만 달면 잘 될 겁니다.
- 그러나 unix 소켓 대신 TCP 포트에서 작동하도록 하려면 dockerd의 구성 파일을 변경하여 0.0.0.2375로 설정하고 bash에 줄이 있으면 그대로 유지하거나 0.0.0:2375로 설정합니다.
수정하려면 터미널에서 다음 명령을 실행해야 합니다.각 단계에 대해 설명하겠습니다.
# Uninstall Docker from apt packages
$ sudo apt-get remove docker docker.io
# Remove it from the libraries just to be
# sure it's gone forever
$ sudo rm -rf /var/lib/docker/*
이제 작업을 단순화하고 시간을 더 확보하려면 매개 변수를 사용하여 내 스크립트를 실행할 수 있습니다.installDocker
:
# Pull the init script from GitHub
$ wget https://github.com/dminca/dotfiles/blob/master/init
# Add rights to run the script
$ chmod 755 init
# Just run the script with the installDocker parameter
$ ./init installDocker
재부팅은 선택 사항이지만 모든 작업이 원활하게 실행되도록 하는 것이 좋습니다.
언급URL : https://stackoverflow.com/questions/21871479/docker-cant-connect-to-docker-daemon
'itsource' 카테고리의 다른 글
SQL 쿼리가 너무 오래 걸리는데 다른 방법이 있나요? (0) | 2023.08.15 |
---|---|
Swift에서 증가된 값으로 배열을 만드는 방법은 무엇입니까? (0) | 2023.08.15 |
Nuget에서 "실행 중인 스크립트가 사용되지 않도록 설정되었기 때문에 ps1을 로드할 수 없습니다."라는 오류 메시지를 표시합니다. (0) | 2023.08.10 |
python의 사용자 지정 클래스에서 'with object() as f' 사용 구현 (0) | 2023.08.10 |
배열을 매개 변수로 다른 스크립트에 전달하려면 어떻게 해야 합니까? (0) | 2023.08.10 |