本笔记为阿里云天池龙珠计划Docker训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampdocker;
首先说一下mac版本的缺陷,因为集成显卡的原因,缺乏深度学习的gpu,无法正常调用gpu进行计算.
mac安装docker,大致分为两步,第一步是安装homebrew,安装命令如下:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
第二步则是使用brew install --cask docker进行安装
启动台就会对应出现一个docker图标,双击打开后,可以在终端输入docker --version和docker-compose --version测试安装是否成功.
也可以使用命令docker run hello-world测试docker是否正常运行
根据docker的三要素,我们可以将docker的基本命令分为三步,如果直接pull现成的镜像,可以使用docker pull命令,或者直接使用docker run,只是docker run是启动容器的命令,而docker pull是下载镜像的命令.
下载完成后,我们可以使用docker images查看目前机器中有的镜像,docker ps查看机器启动的容器,在后面加-a则表示查看所有容器:
我们还可以用Dockerfile来构建镜像,其内部内容如下:
from表示从何处构建镜像,run表示安装依赖包,add表示添加当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录,workdir表示根目录命令,cmd表示镜像启动后统一执行的脚本.
之后使用docker build可以构建我们需要的镜像,建议在构建前就将需要的包安装进基础镜像,减少后续等待时间,同时我们可以用docker tag来对镜像打版本操作,利用docker commit来对容器进行打包,只是commitcommit操作不仅会把有用的修改保存下来,对一些无关的修改也会保存下来(每一个命令行操作都会生成存储如ls操作)就会导致镜像比较臃肿,而且docker commit属于黑箱操作,不利于后续的问题排查,所以尽量使用dockerfile替代docker commit.
镜像的使用是构建容器,我们可以用docker run -it --rm 镜像名称 bash来启动容器,其中i表示交互式操作,t表示终端,rm表示退出容器后自动删除,不指定参数docker run默认不进入容器,我们也可以用docker exec进入运行中的容器.
经过调整的镜像,我们可以用docker push推送到远程仓库.
最后,我们可以使用docker kill 容器id结束容器,docker rm 容器id删除容器,docker rmi 镜像id删除镜像.