当前位置:   article > 正文

win10家庭版Docker打包python运行,映射路径将文件保存本机,附镜像压缩tar的save命令上传cp指令和检查inspect指令_docker 打包前映射路径

docker 打包前映射路径

总结Docker build Py代码运行,映射本地文件。
首先简单写一个py文件,同时写好Dockerfile文件,并将代码依赖输出到requirements文件。下面是py和Dockerfile文件内容。

import numpy as np
import pandas as pd

a = np.array([1, 2, 3])
print('ok')
print(a)
pd.DataFrame(a, columns=['A']).to_csv('./submit.csv', encoding='utf-8', index_label='日期', float_format='%.2f')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
# python版本,可根据需求进行修改
FROM python:3.7
RUN mkdir /code
# 将python程序添加到镜像
ADD hello.py /code/
# 将项目依赖添加到镜像
ADD requirements.txt /code/
WORKDIR /code
RUN pip install -r requirements.txt
# 镜像运行时执行的命令,这里的配置等于 python CSDN.py
ENTRYPOINT ["python","hello.py"]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

然后在文件目录下,按着shift鼠标右击空白处启动win的powershell,输入如下命令
docker build -t mydemo:3.7 .
mydemo是任意起的名字,冒号后边是版本号,最后有一个点号代表当前路径。build结束后,就可以在Docker desktop或者ubuntu下查看。
在这里插入图片描述
在这里插入图片描述
下面,你可以使用命令启动代码,-v就是将本地路径映射到容器 D:/myapp就是我的文件存放的路径,Dockerfile已经指定了工作路径,然后启动镜像就行。
docker run -it -v D:/myapp:/code mydemo:3.7 /bin/bash
或者也可以使用docker desktop启动,如下图,一定要映射路径,否则容器运行完就stop。
在这里插入图片描述
在这里插入图片描述
可以看到,结果打印了,并在本地路径生成了submit.csv文件。
我们可以将镜像打包为tar并取回本地,但是在ubuntu中好像不能直接取回win,先将tar拷贝到容器中,在取回本地。首先创建一个文件demo,然后save命令即可。
docker save mydemo:3.7 > ./demo.tar
docker cp demo.tar 8876900e44df:/usr
使用docker cp 本机文件 容器id:容器内路径,就可以拷贝进容器了
在这里插入图片描述
同时,在win下边使用命令就可以将这个tar取回本地
docker cp 8876900e44df:/usr/demo.tar .
在这里插入图片描述
同时,我们可以load命令,导入这个镜像,然后就可以docker images查看并运行了
docker load < ./demo.tar

有时候,我们也想看看容器里的文件,这个时候就用inspect命令。
在这里插入图片描述
上图中,可以看到,正在运行的容器为空,使用-a可以查看全部容器,使用inspect查看
docker inspect 2c333b3624d1
在这里插入图片描述
弹出的一大串信息中,比如我想查看workingdir目录,可以使用如下命令,-i后边可以是dir也可以是path
在这里插入图片描述
但是容器已经停止了想看里边的文件,就拷贝出来就行,把用户名替换你的
docker cp 2c333b3624d1:/code /home/baozouxiaoxian(用户名)/demo
在这里插入图片描述
我们同样可以使用inspcet查看一个stop的容器,我们直接查看工作路径,这时,我们新建一个abc容器,启动一下,我们看abc现在已经stop
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们也可以在win下边拷贝code到本地,内容和ubuntu里的是一样的,但是如果本地的文件被删除,那么容器里的也会删除,比如我们删除submit文件,在拷贝一次code
在这里插入图片描述
但是,ubuntu的submit文件还在,可以将他拷贝到一个新启动的容器中,在拷贝本地。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/73226
推荐阅读
相关标签
  

闽ICP备14008679号