docker如何处理文件路径?

时间:2018-12-11 00:37:04

标签: python docker

当附加到正在运行的docker容器时,我注意到文件路径(在bash中)是我本地计算机的文件路径。例如,我的用户名是文件路径等的一部分。

如何确定要放入python脚本和dockerfile的适当文件路径? (二者均已包含在图片中)。现在,我的本地文件路径有效,但是我不确定为什么如果它是一个全新的映像,为什么应该将WORKDIR定义为本地文件路径。

1 个答案:

答案 0 :(得分:0)

将自己附加到Docker容器时,您将登录到根据docker映像构建的容器。它与您的主机操作系统无关。例如,如果您使用UBUNTU基本图像,则路径显然将与Red Hat基本图像不同。

也就是说,您可以将本地文件路径安装为卷或绑定安装。如果您希望在容器重新启动之间保留docker容器文件系统的某些部分,这会很明显。 如果要包括python脚本,则可以使用DockerFile添加并构建它。下面的示例

FROM tomcat
LABEL maintainer="xxx"

RUN apt-get update && \
    apt-get -y install openssh-server && \  

WORKDIR /usr/src/app
COPY package.json .
RUN npm install
EXPOSE 4000   
CMD [ “npm”, “start” ] 

Docker使用分层系统。因此,请确保将经常更改的代码部分放在dockerfile的底部,以便您可以利用它。从上面的示例中,您可以看到我将python文件复制到最后,并且我的图像基于tomcat图像。

WORKDIR设置工作目录,如果您通过Entyrpoint,CMD等运行脚本,则非常有用。实际上,它与cd /usr/src/app && np npm install相同,但人们更倾向于workdir来提高可读性。另外,它与您上面提到的全新形象无关。

希望您能了解大局。让我知道您是否有任何疑问