Docker 허브의 this docker image을 사용하여 컨테이너가 실행중인 컴퓨터를 구성 할 수있는 가능성있는 게임 플레이를 실행하려고합니다. 도커를 통해 도커 호스트가 가능합니다.
는 예를 들어, 나는이 실행 :이 옵션으로docker run --net="host" -v <path_inventory>:/inventory -v <path_playbook>:/playbook.yml williamyeh/ansible:ubuntu16.04 ansible-playbook -vvvv -i /inventory /playbook.yml
을, 나는 localhost를 Ping 할 수 있으며, 재고 및 플레이 북은 모두 액세스 할 수 있습니다. 실행기가 각본에서 참조하는 하나
[executors]
127.0.0.1
[executors:vars]
ansible_connection=local
ansible_user=<my_user_in_docker_host>
ansible_become=True
그룹 :
명세는 로컬 접속을 사용하도록 구성된다.
제가 플레이 북이 루트로 연결하려고한다는 것을 알았습니다 (기본적으로 컨테이너에 연결할 때 얻는 것). 컨테이너를 실행할 때 -u을 지정하면 Ansible과 맞지 않는 것처럼 보입니다.
< 127.0.0.1> 사용자의 로컬 연결 수립 : 루트
... 사용할 수없는 모든 명령에 대해 불평 오류 다음에, 성공적인 로컬 연결 후를. 루트 사용자 나 비 루트 사용자가 모두 실행할 수 있다는 점을 감안하면 나에게 맞는 말이 아닙니다.
아이디어가 있으십니까?
감사 : 내 유스 케이스는 조금 다르다 및 설명서는 그것을 명확히하는 데 도움이됩니다. 도커 컨테이너는 호스트 컴퓨터에서 파일을 수정하기위한 것이 아니지만 다른 호스트를 구성하려는 경우에도 도커를 사용하여 앱을 격리하는 것이 좋습니다. 내 경우에는 볼륨이 플레이 북에서 명령을 실행하기에 충분하지 않다는 가정하에 SSH localhost를 사용합니다. 이것은 나에게 좋은 연습/타협처럼 보입니다. 고맙습니다!. – dgulabs