我正在努力运行最新的更改。以下是详细情况。在
Dockerfile
FROM python:3.7.3
RUN mkdir -p /usr/apps
COPY test.py /usr/apps
RUN pip install mindsdb
CMD [ "python","test.py" ]
构建
^{pr2}$
运行
docker run -it -v /Development/PetProjects/mindsdb:/usr/apps/ py37:custom
但它只显示生成时的更改。在
Tags:
首先,在启动容器时,您使用的不是卷,而是
bind mounts
。所以您将主机上的目录/Development/PetProjects/mindsdb
装载到/usr/apps/
目录。在此目录中对主机上的文件所做的每个更改都将在容器中可见,反之亦然。在如果您想使用卷,可以使用
docker volume create
命令创建一个卷,然后用这个卷运行容器:docker container run -v volume_name:path_in_container image_name
。然后,您将能够停止容器并再次运行它,方法是传递这个volume to run命令,并且对path_in_container
目录的更改可以跨容器创建存储。在另一件事是,您试图在容器中挂载
/usr/apps/
,并使用Dockerfile复制了一个python脚本。请注意,在您当前的docker run
命令中,/Development/PetProjects/mindsdb
的内容将替换容器中的/usr/apps/
的内容,并且如果您没有/Development/PetProjects/mindsdb
中的脚本,则脚本在容器中将不可见。在此外,由于路径相对性,
CMD
似乎不起作用。您应该将CMD更改为CMD [ "python","/usr/apps/test.py" ]
,或者使用WORKDIR
选项-WORKDIR /usr/apps/
,这样就可以从这个目录执行python命令,并且可以在那里看到脚本。在有关卷和绑定装载之间差异的详细信息,请参见docker documentation。在
相关问题 更多 >
编程相关推荐