参考视频中的指令在Ubuntu20.04运行docker,由于视频使用的是centos做的演示,在Ubuntu上指令会有一些不一样。

docker安装:参考链接 查看docker版本:sudo docker version
启动docker:sudo systemctl start docker
停止docker:sudo systemctl stop docker
重启docker:sudo systemctl restart docker
查看docker运行状态:sudo ststemctl status docker

下载官方镜像:sudo docker pull 镜像名
运行镜像:sudo docker run 镜像名 (-p 端口映射 -d 后台运行)
显示已下载的镜像:sudo docker images
停止一个已运行的镜像:sudo docker stop 镜像ID
进入镜像:sudo docker exec -it 镜像ID bash
退出镜像:exit
查看正在运行的容器:sudo docker ps 镜像ID
删除镜像:sudo docker rmi 镜像名

dockerfile书写格式:
基础镜像信息FROM、维护者信息(可有可无)MAINTAINER、镜像操作指令、容器启动时的指令CMD
FROM 镜像名:从XX镜像开始,设定基础的镜像,继承于XX镜像,可以使用多个FROM
MAINTAINER 制作者名:可有可无,设定镜像制作者的名字
ADD或者COPY 文件名 容器路径:将外部文件拷贝到镜像中的指定位置
ENV 键 值:设置环境变量
CMD Linux指令:开启容器时执行的命令,一个docker只可以用一个CMD,如果有多个默认取最后一个,如果启动时设置了采用的指令则会覆盖文件中CMD设置的指令
EXPOSE 端口号:设置docker暴露的端口号,用于与外界互联
RUN Linux指令:在镜像上执行指定命令,在创建docker的时候执行的指令,比如安装环境之类的指令

创建dockerfile文件:vim Dockerfile
根据dockerfile创建镜像:docker build -t 容器的名字 .(点表示dockerfile所在的位置是当前路径下)
将已经制作好的docker打包分享:docker save 要保存的dockerid > 要保存的名字.tar

打包训练好的神经网络进入docker:

将训练好的模型放入文件夹,文件夹中路径、数据集以及调用模型的代码需要提前写好,神经网络需要的环境可以直接用RUN写入dockerfile也可以单独写一个requirement.txt来一次性下载,之后在网络模型的文件夹内新建dockerfile,一般根据网络训练时使用的环境选择基础镜像,用FROM设置基础镜像,用RUN向镜像中安装库文件,使用pip install+库文件名或者pip install -r /requirement.txt两种指令进行安装,之后利用COPY指令将整个文件夹打包进docker,最后利用CMD设置好启动镜像时使用的指令,对于这个网络来说也就是用python打开调用模型的python文件。编写好后用docker build指令生成镜像,指定版本号时不能使用大写字母,生成之后启动镜像时如果在生成时设置了版本号,启动时也需要加入版本号,否则会提示本地没有对应镜像。

docker关闭镜像命令 docker停止一个镜像_版本号


具体可参考:

docker打包深度学习项目docker打包神经网络实战