2016-08-19 5 views
13

Próbuję użyć docker awslogs driver i otrzymuję następujący błąd: "docker: Odpowiedź błędu od demona: Nie można zainicjować sterownika rejestrowania: NoCredentialProviders: brak prawidłowych dostawców w łańcuchu. Przestarzałe."Jak udostępnić dane uwierzytelniające sterownikowi docks awslogs przy użyciu Docker dla komputerów Mac?

Zgodnie z this GitHub comment, należy ustawić zmienną środowiskową AWS_SHARED_CREDENTIALS_FILE dla demona docker, ale nie jestem pewien, jak to zrobić, gdy używa się Docker dla Mac.

Polecenie używam do rozpoczęcia pojemnik jest: Informacje

docker run -d \ 
--log-driver=awslogs \ 
--log-opt awslogs-region=us-east-1 \ 
--log-opt awslogs-group=my-log-group \ 
my-image 

Wersja:

  • Docker for Mac 1.12.1-RC1-beta23 budować 11375
  • OS X El Capitan 10.11.6
+0

Jakiego polecenia używasz do uruchamiania kontenera w doku? – tokeryberg

+0

@tokeryberg, zredagowałem moje pytanie, aby dodać polecenie. –

+0

Z ciekawości - dlaczego chciałbyś, żeby dzienniki z twojego laptopa były wysyłane do aws? –

Odpowiedz

1

but I'm not sure how to do that when using Docker for Mac.

W przypadku boot2docker konieczne jest zmodyfikowanie /var/lib/boot2docker/profile w celu dodania tej zmiennej.
Zobacz "Docker daemon config file on boot2docker".
To trwa nadal po ponownym uruchomieniu VM opartym na TinyCore, a demon docker weźmie to pod uwagę.

Przy nowym docker for Mac xhyve-based pomysł powinien być taki sam.
/var/lib/boot2docker/profile istnieje również, jak pokazano in this answer.
Oficjalne docker dameon doc punkty:

--config-file=/etc/docker/daemon.json Daemon configuration file 

Więc spróbuj i modyfikować ten plik.

Domyślnie komentarze wymienić:

~/Library/Containers/com.docker.docker/Data/database/com.doc‌​ker.driver.amd64-lin‌​ux/etc/docker/daemon‌​.json 
+0

To nie działa dla mnie. '/ var/lib/boot2docker /' nie istniał (używam Docker 1.12.1-rc1-beta23 build 11375), więc utworzyłem go i plik profilu, wyeksportowałem w nim AWS_SHARED_CREDENTIALS_FILE i zrestartowałem okno dokowane, ale ja Mam ten sam błąd. –

+0

@MikeOttum Ale używasz Docker na Maca, prawda? Nie pamiętam, czy ta nowa wersja xhyve używa boot2docker, czy nie, ale jeśli folder boot2docker nie istnieje ... Przypuszczam, że nie. W takim przypadku spróbuj spojrzeć na '/ usr/lib/systemd/system/docker.service': IT może odwołać się do pliku Environmentfile, który możesz zmodyfikować i dodać EXPORT. – VonC

+0

To prawda, używam Docker dla Mac na OS X El Capitan 10.11.6. '/ usr/lib/systemd' nie istnieje w moim systemie. Zrobiłem 'find/| grep docker.service' i pojawił się pusty. : -/ –

0

Korzystanie informacje zaczerpnięte z tej odpowiedzi: Docker deamon config path under mac os

można podłączyć do warstwy VM, który uruchamia demona Döcker używając:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 

I możesz zmodyfikować /etc/docker/daemon.json, aby dodać potrzebne zmienne.

Po dokonaniu zmian, można po prostu uruchomić:

service docker restart 

od wewnątrz terminalu moby zrestartować demona Döcker.

Zauważ, że jeśli uruchomisz ponownie okno dokowane z komputera Mac, zmiany nie będą się utrzymywać.

Na marginesie, jeśli podczas łączenia się z poleceniem ekranowym pojawi się ekran logowania, spróbuj użyć nazwy użytkownika: root, aby uzyskać dostęp do systemu.

+0

Jestem w stanie podłączyć do sesji screenowej (dziękuję za to!), ale nie jestem pewien, co zmodyfikować w '/ etc/docker/daemon.json', aby ustawić poświadczenia AWS. Próbowałem ustawić linię eksportu w '/ etc/default/docker' i'/etc/docker/profile' (jak wspomniano w https://github.com/docker/docker/issues/19392#issuecomment-221654053), ale brak szczęścia. Myślę, że idę w tym kierunku w innym kierunku, dopóki nie będę mógł przejść na Linuksa, ale doceniam pomoc. –

+0

@MikeOttum Musisz zmodyfikować '/ etc/docker/daemon.json' po dostępnym przykładzie [tutaj] (https://docs.docker.com/v1.10/engine/reference/commandline/daemon/), w sekcja * Plik konfiguracyjny demona *. Dla Państwa wygody, 'daemon.json' plik będzie wyglądał tak: ' { \t "magazynowo-kierowcy": "aufs", \t "debug": true, \t „log-driver ":" awslogs ", \t" log-opts ": [" awslogs-region = us-east-1 "," awslogs-group = myLogGroup "] }' Jednak ponowne uruchomienie okna dokowanego zastępuje ten plik. Prawdopodobnie będziesz musiał dodać zmienne do: '/ etc/init.d/docker' – aemus

Powiązane problemy