Dock'u sudo olarak çalıştırma


12

Boot2docker'ı yükledim ve koştum:

./boot2docker start
 export DOCKER_HOST=tcp://localhost:4243

Docker sitesinden bir eğitim başlattım.

Tek bir şey anlamıyorum - koştuğumda:

sudo docker info
==>
Get http:///var/run/docker.sock/v1.11/info: dial unix /var/run/docker.sock: no such file or directory

Ancak ben olmadan sudoçalışır zaman çalışır:

MacCris:bin cristianc$ docker info
Containers: 2
Images: 10
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Dirs: 14
Execution Driver: native-0.2
Kernel Version: 3.14.1-tinycore64
Debug mode (server): true
Debug mode (client): false

Neden öğretici gibi sudo ile çalışan herhangi bir fikir çalışmıyor (en azından benim için)?


2
Çünkü sudo kullanmak env'nizi temizliyor. TCP arayüzü üzerinden bağlandığınız için burada sudo kullanmaya gerek yoktur
cpuguy83

Yanıtlar:


15

DOCKER_HOSTOrtam değişkeni ayarlanmamış. Bunu yaparak şunları onaylayabilirsiniz:

> env

Sonra sudo olarak:

> sudo env

Olmadan DOCKER_HOSTdeğişken seti, liman işçisi daemona bağlanamaz.


3

Deneyin:

sudo DOCKER_HOST=$DOCKER_HOST docker run

Bu şekilde gerekli ortam değişkeni ile kullanılabilir sudo.


2

İsterseniz DOCKER_HOSTsize sudo ile liman işçisi komutu çalıştırdığınızda kullanılabilir olması için profilinizden değişkeni, o zaman aşağıdaki satırı ekleyebilirsiniz sudoersdosyası. Bununla aç:

sudo visudo

Ekle:

Defaults        env_keep += "DOCKER_HOST"

1

Boot2docker kullanıyorsanız, /Applicationklasöre gidin ve komutu çalıştırın

$(boot2docker shellinit)

DOCKER_HOSTDeğişkeninizi ortamda düzeltir .


0

Ortam değişkenini benim DOCKER_HOSTiçin tcp://192.168.59.103:2375çalışıyor.

Bunu komut satırınızda çalıştırmanın en hızlı yolu (OSX / Unix / Linux makineleri için):

export DOCKER_HOST=tcp://192.168.59.103:2375
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.