Docker知识6:实战!将一个tensorflow项目制作成Docker image

提要:

这里完成一个完整的docker项目,并且将其推送到Docker-hub中。

docker知识5:在WSL2的ubuntu20.04环境安装使用docker

第一步 登录hub并建立仓库

如果docker-hub的注册名称为china,建立仓库名称为china/tianjin,那么hub上将会有一个空的image,名称为china/tianjin.

在客户端准备:将一个container转化成一个image,中心代码:

docker commit  name-container  china/tianjin

注意:这里image名称必须与hub上一样,才能推送到hub上去。

推送上面的image/tianjin到hub上去。

docker push china/tianjin

登录hub查看,将出现一个镜像。

第二步 准备一个完整项目在win10系统运行

在win10下面,有开发好的基于Mnist的KNN分类项目。该项目存放在e盘(win10的)。

进入wsl2的ubuntu,键入 cd /mnt/e && ls

扫描二维码关注公众号,回复: 13314392 查看本文章

huatec@LAPTOP-J5TGQHQH:~$   cd /mnt/e && ls
'$RECYCLE.BIN'   'System Volume Information'   machine_learn
huatec@LAPTOP-J5TGQHQH:/mnt/e$ 

可以看到  machine_learn,将其导入ubuntu:

sudo cp /mnt/e/machine_learn -r  /home/usr

查看倒入的效果:

cd  /home/usr && tree machine_learn

结果是:

machine_learn
└── knn
    ├── KNN.py
    └── MNIST_data
        ├── t10k-images-idx3-ubyte.gz
        ├── t10k-labels-idx1-ubyte.gz
        ├── train-images-idx3-ubyte.gz
        └── train-labels-idx1-ubyte.gz

此时,此项目已经导入ubuntu宿主机内。

第三步  将项目从宿主机导入容器

启动docker,从ubuntu宿主机执行:

sudo service docker start

sudo docker pull tensorflow/tensorflow    【这里tensorflow/tensorflow是个官方镜像名称】

启动一个容器:

sudo docker run -it -p 8000:8000 --name mytensor  tensorflow/tensorflow

sudo docker ps                                  得到containerID     62e188e9e750

将宿主机项目导进此容器

sudo docker cp /home/huaw/machine_learn 62e188e9e750:/home

进入容器,查看导入项目

sudo docker exec -it  container-ID   /bin/bash    [ container-ID由sudo docker ps指令得到62e188e9e750]

第四步 如何从宿主机运行container中的内容

在container的路径/home/mycont 下有:

KNN.py          python程序

MNIST_data  数据目录

在宿主机执行,或写成sh脚本:

#!/bin/bash

DOCKER_ID=62f3f40ab240

sudo docker exec  -it   62e188e9e750  /bin/bash  -c   'cd /home && python KNN.py'

可以实现从宿主机启动container内部的训练。

sudo docker  run tensorflow/tensorflow:0.12.1-gpu  python train.py

直接进行训练。

第五步 如何将容器生成image

这里用到前面注册的china/tianjin账号。

sudo docker  commit 62e188e9e750  china/tianjin

sudo docker images

可以看到本地多了一个镜像china/tianjin

第六步 将镜像上传到HUB上

sudo docker push china/tianjin

再次进入docker-hub网页,发现Repositories中多出一个镜像。至此大功告成!

参考文章:

Docker与深度学习_机器学习与系统-CSDN博客

猜你喜欢

转载自blog.csdn.net/gongdiwudu/article/details/119177750
今日推荐