我有一个python代码,我想为其创建一个docker镜像。现在根据我的理解,我们需要一个Dockerfile
和我们的python代码code.py
。在Dockerfile
内我们需要写:
FROM python:3
ADD code.py /
RUN pip3 install imapclient
CMD [ "python", "./code.py" ]
我的第一个问题是Dockerfile
。首先我们提到了FROM python:3
,因为我们想要使用python3
。接下来我们添加了我们的代码。在RUN
中,我们可以编写代码的依赖项。因此,例如,如果我们的代码需要python包imapclient
,我们可以在这里提及它,以便在构建docker文件之前安装它。但是如果我们的代码没有任何要求怎么办? 此行RUN
是否重要。我们可以在不需要时将其排除。
现在让我们说我们最终使用命令python-hello-world
创建了我们的泊坞窗图像docker build -t python-hello-world .
。我可以使用命令docker images -a
看到它。现在当我docker ps
时,它没有列在那里,因为容器没有运行。现在开始吧,我必须做docker run python-hello-world
。这将启动代码。但我希望它像Linux服务一样在后台运行。怎么做。?
答案 0 :(得分:1)
这条线RUN重要吗?当我们不需要它时,我们可以将其排除吗?
是的,如果您的代码不需要这些软件包,那么您可以将其排除。
但我希望它像Linux服务一样在后台运行。怎么做?
如果要将其作为背景运行,请使用以下命令。
docker run -d --restart=always python-hello-world
这将在后台启动容器,并在系统重新启动时自动启动。