Saya baru mengenal buruh pelabuhan. Saya memiliki skrip shell yang memuat data ke impala dan saya ingin file buruh pelabuhan yang menjalankan membangun gambar dan menjalankan wadah. Saya menggunakan mac, menginstal boot2docker dan menginstal DOCKER_HOST
env.
bash-3.2$ docker info
Containers: 0
Images: 0
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 0
Execution Driver: native-0.2
Kernel Version: 3.15.3-tinycore64
Debug mode (server): true
Debug mode (client): false
Fds: 10
Goroutines: 10
EventsListeners: 0
Init Path: /usr/local/bin/docker
Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]
Saya mencoba memasang gambar yang sudah dibuat sebelumnya menggunakan:
sudo docker pull busybox
Saya mendapatkan kesalahan ini:
sudo docker pull busybox
2014/08/18 17:56:19 Post http:///var/run/docker.sock/images/create?fromImage=busybox&tag=: dial unix /var/run/docker.sock: no such file or directory
Apakah ada yang salah dengan pengaturan buruh pelabuhan saya?
Ketika saya melakukan docker pull busybox
, Ini menarik gambar dan unduhan selesai.
bash-3.2$ docker pull busybox
Pulling repository busybox
a9eb17255234: Download complete
fd5373b3d938: Download complete
d200959a3e91: Download complete
37fca75d01ff: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
c120b7cab0b0: Download complete
f06b02872d52: Download complete
120e218dd395: Download complete
1f5049b3536e: Download complete
bash-3.2$ docker run busybox /bin/echo Hello Doctor
Hello Doctor
Apakah saya melewatkan sesuatu?
docker
boot2docker
pengguna1189851
sumber
sumber
Jawaban:
Anda tidak perlu menjalankan perintah buruh pelabuhan apa pun seperti
sudo
saat Anda menggunakanboot2docker
karena setiap perintah yang diteruskan keboot2docker
VM dijalankan sebagai root secara default.Anda melihat kesalahan saat menjalankan
sudo
karenasudo
tidak memilikiDOCKER_HOST
set env, hanya pengguna Anda yang memilikinya.Anda dapat mengonfirmasi ini dengan melakukan:
Kemudian a
Dan mencari
DOCKER_HOST
di setiap keluaran.Adapun memiliki file buruh pelabuhan yang menjalankan skrip Anda, sesuatu seperti ini mungkin berhasil untuk Anda:
Dockerfile
Kemudian Anda dapat menjalankan:
Ini akan membangun citra buruh pelabuhan Anda, yang dapat Anda lihat dengan melakukan:
Kemudian, untuk menjalankan penampung Anda, Anda dapat melakukan:
Perintah run ini akan memulai penampung dari gambar yang Anda buat dengan Anda
Dockerfile
dan perintah build Anda dan kemudian akan selesai setelah Andascript.sh
selesai mengeksekusi.sumber
-t
sepertiyour-image-name:a-tag
.Anda dapat dengan cepat mengatur lingkungan Anda menggunakan
shellinit
Pada prompt perintah Anda, jalankan:
Itu akan mengisi dan mengekspor variabel lingkungan dan menginisialisasi fitur lainnya.
sumber
Di MAC saya ketika saya memulai boot2docker-vm di terminal menggunakan
Saya melihat yang berikut ini
Setelah mengatur variabel lingkungan ini, saya dapat menjalankan build tanpa masalah.
Perbarui [2016-04-28] Jika Anda menggunakan versi terbaru buruh pelabuhan yang dapat Anda lakukan
eval $(docker-machine env)
akan mengatur lingkungan(
docker-machine env
akan mencetak pernyataan ekspor)sumber
docker pull
akan gagal jikadocker service
tidak berjalan. Pastikan itu berjalan denganJika tidak berjalan, Anda dapat memulainya dengan
sudo service docker start
Untuk penggunaan Ubuntu 15 dan yang lebih baru
sudo systemctl start docker
sumber
Saya juga mendapat kesalahan ini. Padahal, saya tidak menggunakan boot2docker tetapi hanya menginstal buruh pelabuhan "biasa" di Ubuntu (lihat https://docs.docker.com/installation/ubuntulinux/ ).
Saya mendapat kesalahan ("panggil unix /var/run/docker.sock: tidak ada file atau direktori seperti itu. Apakah Anda mencoba menyambung ke daemon berkemampuan TLS tanpa TLS?") Karena daemon buruh pelabuhan belum berjalan .
Di Ubuntu, Anda perlu memulai layanan :
Lihat juga http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64
sumber
Untuk boot2docker di Windows, setelah melihat:
Yang saya lakukan hanyalah:
Itu menghasilkan:
Akhirnya:
Dan buruh pelabuhan bekerja kembali
sumber
Di Linux, pertama-tama jalankan
sudo service docker start
di terminal.sumber
Jika Anda menggunakan CentOS 7, dan Anda telah menginstal Docker melalui yum, jangan lupa untuk menjalankan:
Ini akan memulai server, serta memulai ulang secara otomatis saat boot.
sumber
Untuk menyiapkan lingkungan Anda dan menyimpannya untuk sesi mendatang, Anda dapat melakukan:
Kemudian:
source ~/.bashrc
Dan lingkungan Anda akan disiapkan di setiap sesi
sumber
/ Var/run/docker.sock pertama mengacu pada jalur yang sama di mesin virtual boot2docker Anda. Tulis dengan benar untuk windows /var/run/docker.sock
sumber
Anda, mungkin bukan OP, tetapi seseorang mungkin memiliki direktori bernama
/var/run/docker.sock/
karena berapa kali Anda meretas dan menebas untuk memperbaiki keadaan dengan buruh pelabuhan (terutama pemula). Hapus direktori itu dan coba lagi.Ini membantu saya untuk membuatnya berfungsi di Centos 7.
sumber