我正在开发一些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/