Linux_web部署,WSL2+Docker,将识别硬币的图像处理的案例

一  环境配置

1.进入之前安装好的 Ubuntu,添加Docker源,依次输入以下命令:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt update

配置完 Dock而 源之后,开始安装 Docker,命令如下:

sudo apt install -y docker-ce

检查 Docker 安装是否正常,可输入以下命令进行检查:

# 检查dockerd进程启动
service docker status
ps aux|grep docker

# 查看 Docker 版本
docker version

# 检查拉取镜像是否正常
docker pull mysql
docker images

2. 到你本地的python项目,查看需要的环境:

使用一次pip list获取版本号,把他们写进requirements.txt,例如:

然后写一个Dockerfile.txt文件,内容为:

# 指定基础映像
FROM python:3.10

RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main" > /etc/apt/sources.list && \
    echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main" >> /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y libsm6 libxext6 libxrender-dev

# 安装 libgl1-mesa-glx 软件包
RUN apt-get install -y libgl1-mesa-glx
 
# 设置工作目录
WORKDIR /app
 
COPY requirements.txt .
# 安装依赖项
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=60 --no-cache-dir -r requirements.txt
 
# 复制 Python 文件和依赖项清单
COPY main.py .
 
# 指定容器启动命令
CMD ["python", "main.py"]

然后输入命令:

ren Dockerfile.txt Dockerfile

得到Dockerfile

最后文件结构这样分布: 

 二  docker使用

在wsl ubuntu里cd到你的文件夹。执行命令:

docker build -t your_image_name .

这里的your_image_name就是你的镜像名,我的镜像名为identify_circles,命令就是

sudo docker build -t identify_circles .

在这个命令中,. 表示当前目录。当你执行 sudo docker build -t identify_circles . 时,Docker 将会在当前目录中查找 Dockerfile,并使用其中的指令来构建一个名为 identify_circles 的镜像,丢了这个 . 会报错

之后执行:

sudo docker run -v <文件名>:/app your_image_name

比如:

sudo docker run -v main.py:/app identify_circles

这个命令把你py文件里需要用的文件所在的文件夹加到容器里

如果没有报错,就意味着加载成功了

我们可以通过以下命令来查看镜像和容器状态:

sudo docker images
sudo docker ps -a
  • sudo docker images 命令用于列出本地主机上的所有镜像。它将显示镜像的名称、标签、镜像 ID、创建时间以及所占用的存储空间等信息。这个命令可以帮助你查看已经下载或构建在本地的镜像。

  • sudo docker ps -a 命令用于列出本地主机上所有容器的信息,包括正在运行的容器和已经停止的容器。它将显示容器的 ID、名称、镜像、创建时间、状态等信息。这个命令可以帮助你查看当前所有的容器,并获取容器的状态和其他相关信息。

如果都没有问题,就可以打包成tar传输了

docker save -o <路径>.tar your_image_name

比如:

sudo docker save -o identify_circles.tar identify_circles

最后运行这个程序:

sudo docker run -it identify_circles

 

 发现和windows上运行结果一致

 谨记:把运行失败的镜像和容器删除,否则太占空间

sudo docker stop $(docker ps -aq)停止所有容器的运行
sudo docker rm $(docker ps -aq)删除所有容器
sudo docker rmi $(docker images -q)删除所有镜像

 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不酸的柠檬酸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值