Falha ao obter conexão D-Bus: Operação não permitida

1

Embora eu possa acessar o container em execução e até mesmo entrar no console do Asterisk, abaixo, não consigo ver o status do Asterisk service:

ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker exec -it 115ac4e433ff bin/bash
bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory
[root@ip-172-31-14-19 /]# 
[root@ip-172-31-14-19 /]# whoami
root
[root@ip-172-31-14-19 /]# 
[root@ip-172-31-14-19 /]# service asterisk status
Redirecting to /bin/systemctl status  asterisk.service
Failed to get D-Bus connection: Operation not permitted
[root@ip-172-31-14-19 /]# 
[root@ip-172-31-14-19 /]# asterisk -rvvv
Asterisk certified/11.6-cert17, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk certified/11.6-cert17 currently running on ip-172-31-14-19 (pid = 1)
ip-172-31-14-19*CLI> 
ip-172-31-14-19*CLI> 

Tentei executar com exec , além de que isso pode ser um importa como o container foi criado?

De uma janela de encaixe contêiner na AWS.

    
por Thufir 22.11.2017 / 12:30

1 resposta

1

Isso acontece para todos os sistemas operacionais que usam o SystemD para controlar os serviços. O comando "systemctl" não faz muito - apenas usa d-bus para falar com o daemon systemd. Mas dentro de um contêiner docker não existe tal coisa.

Você pode evitar esse erro ao substituir o systemctl pelo link para executar as partes do ExecStart / ExceStop dos serviços diretamente em vez de pedir ao systemd para fazê-lo.

    
por 30.11.2017 / 00:55