イメージ内にNodeをインストールするはずの基本的な例として、Aniable Containerを使用しようとしています。 ansible-container build
コマンドを使用すると、導体イメージを正常に作成した後、sudo
というエラーが発生した最初のタスクが失敗します。問題のタスクにはroot
特権が必要です。権限のあるコンテナが特権モジュールの実行のためにlibsudo_util.so.0をロードできません
私は、Docker APTリポジトリを通じてDocker 17.09.0-ceをインストールしたDebian GNU/Linux 9.2(ストレッチ)を実行しています。私はDebian Stretch(2.2.1.0-2)とPypi(2.4.1.0)の両方からAnsibleを使って試しました。私はPypi(0.9.3rc0)と最新のGitソースからAnatile Containerを試しました。私はいつもまったく同じエラー出力を得る。
Ansibleモジュールは、以下の文句:
sudo: error while loading shared libraries: libsudo_util.so.0: cannot open shared object file: No such file or directory
実行中のタスクは、次のようになります。
- name: Add the Node Source repository signing certificate to APT
apt_key:
id: 9FD3B784BC1C6FC31A8A0A1C1655A0AB68576280
keyserver: hkps://hkps.pool.sks-keyservers.net
become: yes
導体だけでなく、私が使用debian:stretch
を作成しようとするサービスの両方ベース画像。
root
が私のシステムのDockerソケットにアクセスする可能性があるので、が付加されたansible-container build
コマンドを前に実行しています。ここで
は私container.yml
の内容である:ここで
version: "2"
settings:
conductor:
base: debian:stretch
project_name: container_test
services:
nodejs:
from: debian:stretch
roles:
- nodejs
registries: {}
がフルエラー出力です:
Building Docker Engine context...
Starting Docker build of Ansible Container Conductor image (please be patient)...
Parsing conductor CLI args.
Docker™ daemon integration engine loaded. Build starting. project=container_test
Building service... project=container_test service=nodejs
PLAY [nodejs] ******************************************************************
TASK [Gathering Facts] *********************************************************
ok: [nodejs]
TASK [nodejs : Add the Node Source repository signing certificate to APT] ******
fatal: [nodejs]: FAILED! => {"changed": false, "module_stderr": "sudo: error while loading shared libraries: libsudo_util.so.0: cannot open shared object file: No such file or directory\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 127}
to retry, use: --limit @/tmp/tmpTRBQDe/playbook.retry
PLAY RECAP *********************************************************************
nodejs : ok=1 changed=0 unreachable=0 failed=1
ERROR Error applying role! engine=<container.docker.engine.Engine object at 0x7f84da0c5ed0> exit_code=2 playbook=[{'hosts': u'nodejs', 'roles': ['nodejs'], 'vars': {}}]
Traceback (most recent call last):
File "/usr/local/bin/conductor", line 11, in <module>
load_entry_point('ansible-container', 'console_scripts', 'conductor')()
File "/_ansible/container/__init__.py", line 19, in __wrapped__
return fn(*args, **kwargs)
File "/_ansible/container/cli.py", line 408, in conductor_commandline
**params)
File "/_ansible/container/__init__.py", line 19, in __wrapped__
return fn(*args, **kwargs)
File "/_ansible/container/core.py", line 843, in conductorcmd_build
raise RuntimeError('Build failed.')
RuntimeError: Build failed.
Conductor terminated. Cleaning up. command_rc=1 conductor_id=e8899239ad1017a89acc97396d38ab805d937a7b3d74e5a7d2741d7b1124bb0c save_container=False
ERROR Conductor exited with status 1