docker 打镜像方法和oss文件上传方法

一:docker打包为镜像

第一步:拉取镜像。
docker hub 网站上 https://registry.hub.docker.com/
查找合适的镜像拉取
例如:我需要tensorflow的镜像
docker pull tensorflow/tensorflow:1.14.0-gpu-py3

第二步:运行拉取的镜像:
gpu代表使用的gpu all 使用全部gpu
net host 代表使用与本物理机一样的ip
-v 映射本机地址和docker地址

#使用全部gpu
docker run -it --gpus all --net host -v  /home/usr/usr_dir/:/workshop  tensorflow/tensorflow:1.14.0-gpu-py3 /bin/bash

#使用其中2个gpu
docker run -it  --gpus '"device=1,2"' --net host -v /root/lixianku_docker:/workshop mld:v1 /bin/bash

第三 步:装各种包,自己想装啥装啥
apt install ipython3

第四步:保存自己装的各种包
exit 退出docker
docker ps -a 显示container id和其他信息
docker commit <当前运行的container id> tensorflow/tensorflow:1.14.0-gpu-py3

第五步:保存成镜像文件
docker save -o retrival-v1.img tensorflow/tensorflow:1.14.0-gpu-py3

二:在镜像下启动自己的服务,查看是否能正常启动

docker run -it --gpus ‘“device=0”’ --net host -v /home/usr/usr_dir/:/workshop retrival:v3 /bin/bash
遇到问题:[ERROR] Can’t connect to (‘0.0.0.0’, 5000)
原因:阿里云没有开放5000端口,换成8008,就可以了

docker run -it --gpus all --net host -v /share_v3/zhurui/:/workshop retrival:v2 /bin/bash
简单运行docker指令:
docker run -it --gpus all --net host -v /home/ubuntu/workshop:/workshop trt723_cu102:v3 /bin/bash
指定gpu:
docker run -it --gpus ‘“device=1,2”’ --net host -v /root/lixianku_docker:/workshop mld:v1 /bin/bash

后台起docker:
docker run -itd --name 名字 --gpus all --net host -v /home/ubuntu/workshop:/workshop trt723_cu102:v3 /bin/bash/

进入容器
docker exec -it 名字 /bin/bash/

三:推送到hub上

a 登录网页生成一个账号,拉入到组里
https://hub.cejilaefj5.com,生成下账号【登录自动生成】

由相关管理人员拉入到组里.具体url: https://hub.myteam.com/team/mlp

仓库可以在组里namespace下创建 自己的仓库名,例如:retrival

b.先登录
docker login -u username -p passwd url
示例:
docker login -u aiejf -p mypasswd hub.myteam.com

c 为自己的docker指定仓库。
docker tag repo:tag_name hub.myteam.com/mld/repo:tag_name
示例:
docker tag retrival:v2 hub.myteam.com/mld/retrival:v2

注意:
不改名的话docker pull 会pull到公共仓库
改了名字后会生成一个新的仓库地址。pull就可以到自己的指定仓库

d 将docker push 到仓库里面
docker pull repo:tag_name
示例:
docker pull hub.myteam.com/mld/retrival:v2

四 docker相关

4.1 docker教程
https://www.runoob.com/docker/docker-tutorial.html
docker rm container #删除容器
docker rmi retrival:v2 #删除images

4.2 docker镜像
模型推理docker镜像:
docker pull boypy/trt723_cu102:v3
主服务镜像:
阿里云4号机,镜像为mld

docker hub地址:
https://registry.hub.docker.com/

4.3 docker分层
查看docker 分层信息
docker history retrival:v2 查看镜像分层信息

有时候docker太大不好推上去。可以看下分层的数据

4.4 镜像制作的方法
4.4.1、本地导入导出镜像
请参考:Docker 架构原理及简单使用
导出:docker save nginx >/tmp/nginx.tar.gz
导入:docker load </tmp/nginx.tar.gz
4.4.2、docker commit 命令创建镜像副本
dock commit -m 容器 镜像名
请参考:Docker docker commit方法镜像制作
4.4.3、docker file
创建dockerfile
请参考:https://www.cnblogs.com/zhangxingeng/p/11394374.html
2. dockerfile build
docker build -t retrival:v1 .

五.linux运行docker的准备

Install NVIDIA driver
Install docker
Install nvidia-docker

六. 上传文件到oss:

1 使用ossutil64工具,需要安装运行:
wget http://gosspublic.alicdn.com/ossutil/1.7.3/ossutil64

登录验证信息:
secret_id:
secret_key:
url:oss://qz-test/ailearn-mudel-test/

a.先登录
ossutil64 config -e 华北/青岛/北京等地区 -i AccessKeyID -k AccessKeySecret
示例:
./ossutil64 config -e oss-cn-beijing.aliyuncs.com -i secret_id -k secret_key

b.上传目录
./ossutil64 --recursive --parallel=5 cp from_dir URL/des_dir
示例:
./ossutil64 --recursive --parallel=5 cp /home/usr/data.tar oss://qz-test/ailearn-mudel-test/dir_name/myfile.tar

2 也可以下载oss浏览器进行上传
进入下网页选择合适的版本下载:
https://help.aliyun.com/document_detail/209974.htm?spm=a2c4g.11186623.0.0.2f649c1djLiDzw#task-2065478

安装后登录:
进入后可以查看文件夹,以及操作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值