前言:从本地ubuntu到生产服务器,你还在为cuda、cudnn、pytorch、tensorflow1.X、2.0的环境配置耗时耗力耗尽最后一口仙气?完成本系列章节,不但可以让你在任意服务器启动你想要的任何深度学习算法环境,一次性配置终身使用,还基本入门深度学习算法全栈工程师,开始为所欲为
docker 在线与本地无网安装
1、docker-io, docker-ce, docker-ee 区别
docker-io, docker-engin 是以前早期的版本,版本号是 1.*,默认centos7 安装的是docker-io。
docker-ce 是社区版本,目前开发者主流,适用于刚刚开始docker 和开发基于docker研发的应用开发者或者小型团队。
Ubuntu默认安装的是docker-ce,
docker-ee 是docker的企业版,适用于企业级开发,同样也适用于开发、分发和运行商务级别的应用的IT 团队。
ps: docker-ce 和docker-ee 的可用版本是根据year-month 来的
2、Docker安装-CentOs7
2.1.查看linux内核版本
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
查看linux内核版本
uname -r
如果提示 uname: 未找到命令
可以使用如下命令来查看内核版本
cat /proc/version
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vfYEjQ0M-1596603996048)(/home/irwin/.config/Typora/typora-user-images/image-20200805104958773.png)]
2.2.在线安装docker
1.确保yum是最新的
yum update
2.安装docker
yum -y install docker-io
3.安装完成查看docker版本
docker version
出现如下图所示,表示安装成功
4.启动docker
systemctl start docker
如果启动失败,重启linux后再执行systemctl start docker就可以了,如图:
5.设置docker开机启动
systemctl enable docker
3、无网络情况|本地docker安装
3.1 先在本机下载docker离线包选择docker-18.06.1-ce.tgz https://download.docker.com/linux/static/stable/x86_64/
3.2 上传二进制包到服务器
scp docker-18.06.3-ce.tgz [email protected]:/usr/local/docker
3.3、解压
注意 解压到该目录,不要home权限问题
cd /usr/local/docker
tar xzf docker-18.06.3-ce.tgz
3.4、将二进制文件移动到可执行文件上的目录路径,例如/usr/bin/如果你跳过这一步,你必须在调用docker或dockerd命令。
cp docker/* /usr/bin/
3.5、创建docker.service。
在/etc/systemd/system/下创建docker.service文件,内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
3.6、设置开机自启动
3.6.1、赋权
chmod +x /etc/systemd/system/docker.service
3.6.2、使配置生效、启动docker服务并查看服务状态:
systemctl daemon-reload
systemctl start docker.service
等同 service.docker.start
PS:如果启动报错,耐心看报错日志。此次安装时候奇葩报错 ,etc/systemd/system/docker.service 不要添加运行权限。最后删除相关,重新来一遍时候把权限改为777,解决
systemctl status docker.service
3.6.3、 设置服务自启动:systemctl enable docker.service
3.6、测试是否安装成功
#查看docker信息
docker info
#查看镜像
docker images
4、卸载
首先查看Docker版本
# yum list installed | grep docker
docker-ce.x86_64 18.05.0.ce-3.el7.centos @docker-ce-edge
执行卸载
# yum -y remove docker-18.06.3-ce
删除存储目录
# rm -rf /etc/docker
# rm -rf /run/docker
# rm -rf /var/lib/dockershim
# rm -rf /var/lib/docker
如果发现删除不掉,需要先 umount,如
# umount /var/lib/docker/devicemapper
5、安装自行打包的镜像:
5.1.docker load -i {image_name}.tar
或者
docker load --input {image_name}.tar
5.2.查看载入是否成功:
docker images | grep {image_name}
5.3.如果看到加载的镜像没有tag和镜像名,则手动打tag:
docker tag {image_id} {image_name}:{image_tag}
5.4.确认镜像是否成功打上tag
##################我是分割线############################