Setelah saya memperbarui versi Docker saya ke 0.8.0
, saya mendapatkan pesan kesalahan saat memasukkan 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?
Dan saya telah mengikuti instruksi dan memasukkan perintah sudo docker -d
, dan saya mendapatkan ini:
[/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
Bagaimana saya mengatasi masalah?
no such file or directory[/var/lib/docker|2462000b]
. Apakah/var/lib/docker
ada di sistem Anda? Jika tidak maka saya pikir Anda perlu menginstal ulang Docker.Jawaban:
Linux
Langkah -langkah Pasca-instalasi untuk dokumentasi Linux mengungkapkan langkah-langkah berikut:
Mac OS X
Seperti yang dikatakan Dayel Ostraco diperlukan untuk menambahkan variabel lingkungan:
The
docker-machine start
perintah output komentar untuk memandu proses.sumber
newgrp
perintah untuk memulai shell baru di grup baru ini. Seperti ini:newgrp docker
.alias docker='sudo docker'
juga triknya. : pLinux
Untuk menjalankan docker daemon di Linux (dari CLI ), jalankan:
Catatan: Lewati
$
karakter saat menyalin dan menempel.Pada RedHat / CentOS, jalankan:
sudo systemctl start docker
.Untuk menginisialisasi sistem file "base", jalankan:
atau secara manual suka:
Instal
docker-machine
di LinuxUntuk menginstal binari mesin di Linux:
secara lokal:
global:
macOS
Pada macOS
docker
biner hanya klien dan Anda tidak dapat menggunakannya untuk menjalankan daemon docker, karena daemon Docker menggunakan fitur kernel khusus Linux, oleh karena itu Anda tidak dapat menjalankan Docker secara native di OS X. Jadi, Anda harus menginstaldocker-machine
untuk membuat VM dan lampirkan.Instal
docker-machine
di macOSJika Anda belum memiliki
docker-machine
perintah, instal dengan menggunakan salah satu metode berikut:brew install docker-machine docker
.secara manual dari GitHub :
Lihat: Memulai dengan Docker untuk Mac .
Konfigurasikan
docker-machine
di macOSUntuk memulai Mesin Docker melalui Homebrew, jalankan:
Untuk membuat
default
mesin (jika Anda tidak memilikinya, lihatdocker-machine ls
:):Kemudian atur lingkungan untuk klien Docker:
Kemudian periksa kembali dengan mencantumkan kontainer:
Lihat: Memulai dengan Mesin Docker dan VM lokal .
Instal Docker.app di macOS
Atau dengan solusi di atas, Anda dapat menginstal aplikasi Docker dengan:
Lihat posting ini untuk lebih jelasnya . Lihat juga: Tidak dapat terhubung ke daemon Docker di macOS
sumber
docker-toolbox
dari docs.docker.com/toolbox/toolbox_install_macsudo rm -rf /var/lib/docker
dan kemudian restart melakukan trik. Saya benar-benar macet dan tidak ada solusi lain yang bekerja untuk saya.Jika Anda menjalankan Docker pada OS X, menjalankan eval berikut telah bekerja untuk saya.
Jika Anda memilih untuk tidak harus menjalankan pernyataan eval ini pada setiap sesi terminal, Anda dapat menambahkan ini ke
bash_profile
:Pastikan untuk memulai kembali sesi terminal atau menjalankan sumber aktif
bash_profile
agar perubahan diterapkan.sumber
Error checking TLS connection: Host is not running
... menjalankan eval ini setelah perintahdocker-machine start default
melakukan trik.Setelah penyelidikan terperinci, masalah ini tampaknya terjadi setiap kali setelah Mac OS X di-boot ulang (atau mesin virtual Docker di-restart) yang mencegah klien Docker terhubung ke daemon Docker.
Untuk mengatasi masalah ini, Anda dapat:
A) Instal ulang Docker Toolbox menggunakan penginstal resmi ( https://www.docker.com/products/docker-toolbox ), atau cukup
B) Jalankan perintah berikut secara berurutan:
C) Sama seperti (B), Anda juga dapat menyalin dan menempelkan baris berikut untuk menjalankan ketiga perintah:
Jika Anda mendapatkan kesalahan berikut:
jalankan kembali ketiga perintah di lain waktu, dan itu akan bekerja untuk yang kedua kalinya.
sumber
Ini biasanya terjadi ketika Anda tidak berada dalam
docker
grup. Anda dapat menambahkan diri Anda kedocker
grup dengan:atau
Setelah ini, Anda harus keluar dan masuk kembali ke server.
Atau, Anda bisa
sudo
setiap perintah Docker.sumber
Jika semua solusi lain di atas tidak berhasil, Anda dapat mencoba memeriksa kepemilikan
/var/run/docker.sock
:Jika Anda bukan pemiliknya, maka ubah kepemilikan dengan perintah:
Kemudian Anda dapat melanjutkan dan mencoba menjalankan perintah Docker tanpa repot: D
sumber
Cara terbaik untuk mengetahui mengapa Docker tidak berfungsi adalah menjalankan daemon secara manual.
Daemon Docker masuk ke STDOUT, sehingga akan mulai memuntahkan apa pun yang dilakukannya.
Inilah masalah saya:
Ini karena instance telah dikloning dari mesin virtual lain. Saya hanya perlu menghapus pidfile, dan semuanya bekerja setelahnya.
Tentu saja, alih-alih dengan membabi buta menganggap ini akan berhasil, saya sarankan menjalankan daemon secara manual sekali lagi dan meninjau output log untuk kesalahan lain sebelum memulai layanan cadangan.
sumber
apparmor
paket yang hilang .dockerd -D
Jika Anda menerima pesan
Can't connect to docker daemon. Is 'docker -d' running on this host?
, Anda dapat memeriksanya dengandocker version
.Jika Anda melihat informasi seperti Docker Client sedang berjalan. tetapi Docker Server tidak , itu jelas Anda harus memulai server Docker.
Di CentOS, Anda dapat menggunakan
service
untuk memulai atau menghentikan server Docker.Kemudian, setelah Anda mengetik
docker version
, Anda akan mendapatkan informasi dari Docker Client dan Docker Server , dan daemon Docker telah dimulai.sumber
sudo service docker start
juga bekerja untuk saya di Ubuntu 14.04.Lakukan
ps aux | grep docker
untuk melihat apakah daemon sedang berjalan. Jika tidak dijalankan/etc/init.d/docker start
sumber
sudo service docker start
memberi tahu saya "buruh pelabuhan mulai / berjalan, proses 4633" kemudiansudo service docker status
memberi tahu "buruh pelabuhan berhenti / menunggu"Saya me-restart Docker setelah menginstalnya:
Dan itu berhasil.
sumber
Saya punya masalah serupa. Saya harus keluar dan masuk lagi ke shell karena saya baru saja menginstal Docker dan perintah berikut tidak muncul di lingkungan saya.
sumber
Saya telah menghadapi masalah ini, dan saya me-restart Docker menggunakan perintah-perintah ini:
Tapi saya tidak menyelesaikan masalah saya, karena saya lupa untuk mengeksekusi perintah Docker saya tanpa
sudo
. Bagi mereka yang menghadapi masalah ini, coba periksa itu.Mencoba
alih-alih ini:
sumber
docker build
di Ubuntu Xenial.Anda bisa menggunakan perintah
untuk memulainya saja.
sumber
sudo service docker restart
, lebih mudah 😊Saya memiliki kesalahan yang sama dan mencoba
docker-machine regenerate-certs
ataueval..
tidak berhasil untuk saya.Ini pada OS X 10.11.3 (El Capitan) dan Docker v1.10.1. Saya dapat memperbaikinya hanya dengan menghapus dan menciptakan kembali mesin docker. Sumber
Jika berjalan
docker-machine ls
, ini menunjukkan Anda output yang mirip dengan yang di bawah ini;Coba lepaskan mesin Docker Anda dengan;
Di mana
default
nama mesin Docker Anda. Kemudian;Menciptakan mesin Docker baru.
Periksa kembali bahwa semuanya terlihat normal sekarang (tidak ada kesalahan atau Docker tidak dikenal) dengan:
Akhirnya jangan lupa untuk menjalankan
"$(docker-machine env default)"
sebelum Anda melanjutkan atau menjalankan Terminal Quickstart Docker yang melakukannya untuk Anda ...sumber
Saya memiliki masalah yang sama - "Tidak dapat terhubung ke docker daemon." (Kecuali saya tidak mendapatkan kesalahan 'file tidak ditemukan' ketika mencoba memulai server.)
'ps' menunjukkan bahwa "/ usr / bin / docker -d" masih berjalan
Saya menyadari bahwa saya tidak pernah benar-benar berhasil menjalankan server sendiri. Setiap upaya telah dilakukan
Jadi saya terlambat menyadari bahwa menginstal buruh pelabuhan mungkin mendaftarkan daemon dengan pemula, yang telah memulainya untuk saya. Oleh karena itu, mencoba untuk membunuh daemon untuk me-restart secara manual gagal (operasi tidak diizinkan). Jadi saya melakukan
pada proses daemon. Daemon lain segera menggantikannya, dan yang baru ini TIDAK SEKARANG membiarkan klien CLI saya terhubung:
sumber
Coba tambahkan pengguna saat ini ke
docker
grup:Kemudian logout dan login.
sumber
Gunakan aplikasi Docker CE
macOS
Gunakan aplikasi Edisi Komunitas Docker baru untuk macOS. Sebagai contoh:
Copot semua paket Docker Homebrew yang telah Anda instal sejauh ini:
Instal aplikasi secara manual atau melalui Homebrew-Cask :
Catatan: Aplikasi ini akan membuat link yang diperlukan untuk
docker
,docker-compose
,docker-machine
, dllSetelah menjalankan aplikasi, checkout ikon paus Docker di menu status.
docker
,docker-compose
,docker-machine
perintah seperti biasa di Terminal .Terkait:
Linux / Windows
Unduh Docker CE dari halaman unduhan dan ikuti instruksi.
sumber
Saya tahu bahwa sudah ada banyak jawaban di pos ini. Hanya saya ingin menambahkan satu jawaban sederhana yang memecahkan masalah yang disebutkan di atas.
Jalankan perintah di atas dan itu akan memulai semua thread / layanan terkait buruh pelabuhan.
sumber
Saya baru saja mengalami masalah yang sama, berjalan di Amazon AWS .
Inilah yang saya coba:
docker-machine
secara lokal dengan instance AWS yang sudah adadockerd
ternyata berhasil ...Itu diuji berikut pada mesin jarak jauh:
Saya menghapus
/var/lib/docker
dan menghapus semuanya, tetapi tidak ada keberhasilan setelah instalasi ulang. Sayangnya saya tidak memiliki log yang disimpan dari kegagalan, tetapidocker.service
hanya menolak untuk memulai.Namun, yang akhirnya menyelesaikan masalah saya pada dasarnya:
sumber
Mengikuti situs DOC Docker: Kelola Docker sebagai pengguna non-root
1) Buat Grup Docker
2) Jadikan pengguna milik grup buruh pelabuhan untuk mendapatkan hak istimewa grup.
Periksa apakah variabel lingkungan DOCKER_HOST disetel untuk shell Anda.
Jika ada,
Maka ini harus bekerja:
sumber
unset DOCKER_HOST
bekerja untuk sayaJika Anda menjalankan OS X menggunakan alat Docker, ikuti ini.
Mulai ulang daemon dan konfigurasikan lingkungan Anda:
Lalu
Akhirnya,
Untuk menguji daemon sedang berjalan:
docker ps -a
ataudocker-machine ls
. Ini akan mencantumkan semua wadah.sumber
Saya mendapat masalah yang sama. Dalam CentOS 6.5:
Jika itu menunjukkan tidak ada proses daemon Docker ada, maka saya ketik:
Lalu Ctrl+ Duntuk menghentikan Docker. Karena kami menggunakan
-d
opsi, Docker akan berjalan sebagai daemon. Sekarang kita bisa melakukan:Maka saya bisa melakukan
docker pull centos
. Itu saja.CATATAN: Jika ini tidak berhasil, Anda dapat mencoba
yum update
, dan kemudian ulangi lagi, karena sayayum install
sebelum ini.sumber
The Docker layanan mungkin tidak berjalan.
Jika Anda menggunakan RedHat / Fedora / CentOS, silakan coba ini:
sudo systemctl start docker
Jika Anda menggunakan Ubuntu / Debian:
sudo service start docker
Docker akan mulai berjalan di host Anda dan masing-masing port.
sumber
Periksa apakah Anda menggunakan Mesin Docker :)
Jalankan
docker-machine env default
harus melakukan trik.Karena menurut dokumentasi:
https://docs.docker.com/machine/overview/
sumber
sumber
Untuk memperbaikinya, Anda perlu mengeluarkan perintah berikut di terminal. Saya akan menjelaskan setiap langkah:
Sekarang, jika Anda ingin menyederhanakan banyak hal dan mendapatkan lebih banyak waktu, Anda dapat menjalankan
init
skrip saya dengan parameterinstallDocker
:Reboot adalah opsional, tetapi saya sarankan Anda melakukannya untuk memastikan semua berjalan lancar.
sumber
Saya memiliki masalah yang sama dengan menjalankan Docker 1.10 di Ubuntu 14.04 dan tidak ada jawaban yang diberikan yang berfungsi. Bagi saya, perbaikannya adalah menentukan driver penyimpanan saat menjalankan daemon Docker.
sumber
Jika Anda menggunakan gitlab-ci / gitlab-runners, Anda mendapatkan kesalahan itu jika Anda tidak memiliki izin untuk mengakses
/var/run/docker.sock
.Untuk memecahkan masalah:
Verifikasi dengan:
Semoga itu bisa membantu.
sumber
Jika regenerasi sertifikat TLS tidak berfungsi
Coba mulai ulang mesin buruh pelabuhan dan atur variabel env:
Periksa apakah mesin berjalan dengan:
atau sebagai alternatif
Ini berhasil untuk saya. Namun, jika Anda masih belum mengaktifkan daemon, halaman pemecahan masalah Docker merinci proses untuk menghentikan, menghapus, dan membuat mesin baru.
sumber
Saya juga mendapat masalah "Tidak dapat terhubung ke daemon Docker. Apakah daemon docker berjalan pada host ini?".
Saya lupa menggunakan
sudo
. Semoga ini akan membantu sebagian dari kita.sumber