我应该选择docker进行python的隔离开发吗?

时间:2017-02-19 05:30:58

标签: python ubuntu docker

我正在开发一些python项目。对码头有一些疑问。之前我使用virutalenv进行python开发。不同的python版本与不同的项目有不同的依赖关系当然有些项目需要phantomjs selenium这样的第三个软件。那么我该如何配置我的dockerfile呢?以及容器需要多少空间,部署到云服务器是否有效?

我知道如果在dockerfile下面有一些cmd显示。

FROM ubuntu:16.04
RUN apt-get update && apt-get install -y openssh-server && apt-get install -y python3.5 && apt-get install -y python-pip && apt-get install blablabla

1 个答案:

答案 0 :(得分:1)

正如您所知,Docker是一个国际软件平台,用于通过各种软件平台构建,运送和运行应用程序。 因此,在安装Docker之后,您可以使用几个选项来配置dockerfile。

您可以找到配置文件,位于'c:\ ProgramData \ docker \ config \ daemon.json 你会找到这个信息

{
    "authorization-plugins": [],
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "storage-driver": "",
    "storage-opts": [],
    "labels": [],
    "log-driver": "", 
    "mtu": 0,
    "pidfile": "",
    "graph": "",
    "cluster-store": "",
    "cluster-advertise": "",
    "debug": true,
    "hosts": [],
    "log-level": "",
    "tlsverify": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "group": "",
    "default-ulimits": {},
    "bridge": "",
    "fixed-cidr": "",
    "raw-logs": false,
    "registry-mirrors": [],
    "insecure-registries": [],
    "disable-legacy-registry": false
}

因此,在配置Docker引擎的'host'键中,所有传入连接都在端口2375上与TCP

连接
{
    "hosts": ["tcp://0.0.0.0:2375"]
}

您也可以将特定图像和容器存储在备用路径中。如果未指定,则默认为c:\ programdata \ docker

{    
    "graph": "d:\\docker"
}

否则,为了配置dockerfile,可以通过查找配置文件来使用默认的network和docker安全组:'c:\ ProgramData \ docker \ config \ daemon.json

{
    "bridge" : "none" # sets default network 
}

{
    "group" : "docker" # sets default security
}

容器编码的空间大小取决于每个容器占用的磁盘空间量。您可以通过此链接找到容器占用的空间:artifacts..appspot.com

替换 并运行:gsutil du gs://artifacts..appspot.com

部署到云服务器非常有效,因为Docker拥有底层的Docker Cloud。但首先,假设您在本地安装了Docker引擎(如上所述,如上所述),您将需要docker-cloud CLI。反过来,管理并不困难。但是,只需要根据您正确安装docker cloud CLI的平台进行一些研究。

(docker run dockercloud / cli -h)< - 安装docker-cloud CLI后,在容器中安装CLI映像。

我希望这有帮助!! :)