python - python独立开发应该选择docker吗?

标签 python ubuntu docker

我正在开发一些Python项目。有一些关于 docker 的问题。我之前使用 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

最佳答案

正如您所知,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 引擎的“主机”键中,所有传入连接都使用 TCP 在端口 2375 上进行连接

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

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

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

否则,为了配置 dockerfile,您可以通过找到配置文件“c:\ProgramData\docker\config\daemon.json”来使用默认网络和 docker 安全组

{
    "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 镜像。

我希望这有帮助! :)

关于python - python独立开发应该选择docker吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42323981/

相关文章:

Django,Sqlalchemy : Cannot drop table ganalytics_article because other objects depend on it

python - Django Rest Framework - 如何使用 update_or_create

python - 将 openCV python 函数转换为 C++

ubuntu - VS Code 代码命令在 Pop OS 的终端上不再工作

Python:在 linux 终端中获取最后一个命令行

mongodb - 如何配置在Docker容器中运行的Web应用程序以成功连接到在其他容器中运行的MongoDB数据库

python - 我们也需要在github上上传虚拟环境吗?

python - 了解使用 PythonScriptStep 在 Azure ML Pipeline 中加载和操作数据

bash - 现实生活中的 SHELL SCRIPTS 用法?

docker - Docker机器无法访问内部网络(VPN)