【问题标题】:How to run Python with docker on daemon mode?如何在守护进程模式下使用 docker 运行 Python?
【发布时间】:2018-10-30 15:41:55
【问题描述】:

从 Docker Hub 获取 python:

$ docker pull python

在 CoreOS 上。

想使用 Ansible 从其他主机连接它,所以需要在 CoreOS 上启动 Python。

但是这样怎么办呢?


更多详情

这种方式可以用coreos运行ansible:

第 1 步:在 CoreOS 上使用 shell 脚本安装 python

(据说不好,现在可以用了)

How do I run python on my Vagrant vm instance that is CoreOS?

第 2 步:在 ansible-playbook 中配置主机

[coreos]
core-01

[coreos:vars]
ansible_ssh_user=core
ansible_python_interpreter=/home/core/bin/python

第 3 步:测试连接

$ ansible -m ping -u core -i hosts core-01
core-01 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

可以使用。但是关于Step 1,有没有办法使用python容器来启动它而不是使用shell脚本来安装?

【问题讨论】:

  • 我对您的问题感到困惑,只是如何运行 docker 容器?
  • Ansible 用于安装基础设施所需的所有包,即 Java 8 或 python 3.6 等。您不能使用 docker pull。Docker pull 用于从 Docker Hub 或 Docker repo 中提取图像。Ansible肯定会参与安装python。
  • @chrisz 如何将python作为容器运行,其他主机可以知道它的python进程。
  • @Ankur 我在问题中添加了一些细节。
  • 在 vagrant 中你可以设置虚拟环境,比如 set virtualenv 。然后你可以在里面安装 python,这就是我们在 2-3 年前使用 vagrant 设置 python Django 项目时所做的。

标签: python docker process ansible coreos


【解决方案1】:

即使您能够通过 ansible 连接到 python 容器,python 代码也会在容器内执行。所以它没有实际用途,除非你真的想用 ansible 在容器内做点什么。

在 coreos 中安装 python 的最佳方式是使用 ansible 的 raw 模块。

参考:

1)。 https://coreos.com/blog/managing-coreos-with-ansible.html
2)。 http://docs.ansible.com/ansible/latest/modules/raw_module.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多