前言
一直以来对docker使用不熟练,最近因为需要考虑部署方便,考虑使用容器这个大杀器,下面记录一下docker 安装 和常用的一些方法
一、安装
以前很复杂,现在都比较简单.
使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
安装完成之后,启动起来
systemctl start docker
systemctl enable docker
添加一个用户组,以免每次输sudo
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
然后就可以愉快玩耍了
二、常规使用
一般是直接拉取别人创建好的image
常用的一般是
国外: https://registry.hub.docker.com
国内一般是阿里 网易 DaoCloud
pull 操作
在docker hub 搜索关键字tensorrt7 随便找一个合适的
docker pull pierrezhiwei/tensorrt7.2.1_cuda11.1_opencv3.4.6
然后就是等待(ps:现在dockerhub的速度已经非常快了)
下载完成后,查看
docker images
run操作
有了image,需要运行起来
docker run -itd -v $PWD:/work --name tensorrt pierrezhiwei/tensorrt7.2.1_cuda11.1_opencv3.4.6
参数讲解:
-v:指定挂载目录 可以多挂载几个目录
PWD:取当前绝对目录
:/work:挂载到当前生成容器中的work目录
-name:为当前生成容器取一个名字
pierrezhiwei/tensorrt7.2.1_cuda11.1_opencv3.4.6 image的名字
如果需要当前容器调用GPU
docker19.0版本之后就集成了gpu的调用了
加选项 –gpus all(也可以单独指定gpu)
docker run --gpus all -itd -v $PWD:/work --name tensorrt pierrezhiwei/tensorrt7.2.1_cuda11.1_opencv3.4.6
执行命令后终端便切换到创建容器的终端环境了
attach操作
当前终端被关闭后,下一次要进入之前的容器
docker ps -a
查看所有容器,并且tensorrt相关镜像生成的容器启动方式并不一样,在图中箭头处可以看到
docker attach 5fe66678c892
(这串奇怪的字符串就是容器的ID 可以通过docker ps -a 查看)
又进入到上一次使用的容器终端了
commit操作
在对当前容器执行一系列操作之后,需要将这个容器重新打包成image,以供其他人pull
比如我对当前容器安装了openblas之后,想把带有openblas的容器一起打包
docker commit -m ‘tensorrt7.2’ -a ‘hset’ tensorrt7.2 tensorrt7.2
格式:docker commit -m ‘镜像描述’ -a ‘制作者’ 容器名(需要被打包的容器NAMES) 镜像名(生成镜像名)
三、上传阿里云
1.注册阿里云账户
阿里云官方网站链接:https://dev.aliyun.com/search.html
例如:
账户:msjtest
密码:123456
2.登陆账户
3.搜索 “容器镜像服务”,找到镜像仓库,创建镜像仓库
4.进入仓库查看创建后的镜像仓库信息
(ps:login的时候因为是使用sudo命令,需要先输终端密码,再输入容器镜像仓库的密码)
5.从公网拉取上传的镜像
总结
以上就是今天要讲的内容,本文仅仅简单介绍了docker的使用,而docker提供了大量能使我们快速便捷地配置环境和部署。好用的话点个赞 ^ o ^。