盐:'dockerng' __virtual__ 返回 False
Salt: 'dockerng' __virtual__ returned False
我有 Debian Jessie,我正在尝试使用 Salt dockerng 管理 Docker 个容器。但是当我尝试这个状态时:
# file: docker_demo.sls
hello-world:
dockerng.image_present
然后 sudo salt '*' state.highstate
失败:
----------
ID: hello-world
Function: dockerng.image_present
Result: False
Comment: State 'dockerng.image_present' was not found in SLS 'docker_demo'
Reason: 'dockerng' __virtual__ returned False
Started:
Duration:
Changes:
我该如何解决这个问题,以便 dockerng.image_present
可以拉取图像,dockerng.running
可以 运行 Docker 容器等?
Salt minion 执行的 dockerng 模块使用 docker-py(不是 CLI 命令 docker
)通过 REST API 与 Docker 守护程序通信。
错误信息'dockerng' __virtual__ returned False
有点误导,但是如果你看到源代码,它returns False
因为它不能导入Pyhon模块docker
。所以必须安装这个Python包。
Debian 存储库中有软件包:python-docker
和 python3-docker
。但是两者都与最近的 docker-engine
(从 APT 存储库 deb https://apt.dockerproject.org/repo debian-jessie
安装)不兼容。
因此解决方案是卸载 python-docker
软件包(如果已安装)并使用 pip
:
安装最新的 docker-py
sudo apt-get install python-pip
sudo pip install docker-py
或者使用这个 Salt 状态:
python-pip:
pkg.installed
docker-py:
pip.installed:
- require:
- pkg: python-pip
或者只是 运行
salt myminion pip.install docker-py
来自 Debian Stretch 的 python-docker
软件包(正在测试,应该在 2017 年成为 Debian 稳定版)似乎工作正常。
我有 Debian Jessie,我正在尝试使用 Salt dockerng 管理 Docker 个容器。但是当我尝试这个状态时:
# file: docker_demo.sls
hello-world:
dockerng.image_present
然后 sudo salt '*' state.highstate
失败:
----------
ID: hello-world
Function: dockerng.image_present
Result: False
Comment: State 'dockerng.image_present' was not found in SLS 'docker_demo'
Reason: 'dockerng' __virtual__ returned False
Started:
Duration:
Changes:
我该如何解决这个问题,以便 dockerng.image_present
可以拉取图像,dockerng.running
可以 运行 Docker 容器等?
Salt minion 执行的 dockerng 模块使用 docker-py(不是 CLI 命令 docker
)通过 REST API 与 Docker 守护程序通信。
错误信息'dockerng' __virtual__ returned False
有点误导,但是如果你看到源代码,它returns False
因为它不能导入Pyhon模块docker
。所以必须安装这个Python包。
Debian 存储库中有软件包:python-docker
和 python3-docker
。但是两者都与最近的 docker-engine
(从 APT 存储库 deb https://apt.dockerproject.org/repo debian-jessie
安装)不兼容。
因此解决方案是卸载 python-docker
软件包(如果已安装)并使用 pip
:
docker-py
sudo apt-get install python-pip
sudo pip install docker-py
或者使用这个 Salt 状态:
python-pip:
pkg.installed
docker-py:
pip.installed:
- require:
- pkg: python-pip
或者只是 运行
salt myminion pip.install docker-py
来自 Debian Stretch 的 python-docker
软件包(正在测试,应该在 2017 年成为 Debian 稳定版)似乎工作正常。