本文章是在网易云课堂的课程学习中编写,部分图片从网易云课堂ppt引用
【Docker安装】
官方安装指南地址:https://docs.docker.com/engine/installation/
这里主要实践Docker在 Linux上的安装
1、系统要求
Docker支持64位版本CentOS7,并且要求内核版本不低于3.10。使用以下命令查看内核版本:
uname -r
2、docker安装
如果有旧版本的Docker,要先卸载,详见下方Docker卸载说明。linux上Docker的安装有两种方式:
2.1 使用yum安装
sudo yum install docker-ce
注意∶如果是centos7 minimal版本,执行安装提示“没有可用软件包”,这个时候需要安装必要的软件依赖及更新增加docker-ce yum源。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.2 使用脚本安装
在测试或开发环境中,Docker官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装:
sudo curl -fsSL https://get.docker.com -o get-docker.sh #下载脚本
sudo sh get-docker.sh --mirror Aliyun #安装
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把Docker CE的Edge版本安装在系统中。
3、建立docker用户组
默认情况下,docker命令会使用Unix socket与Docker引擎通讯。而只有root用户和docker组的用户才可以访问Docker引擎的Unix socket。一般Linux系统上不会直接使用root用户进行操作,因此,需要将使用docker的用户加入docker用户组。
sudo groupadd docker #建立docker组
sudo usermod -aG docker $USER #将当前用户加入docker组
4、启动Docker
systemctl start docker
查看docker详细信息
docker info
docker重启:
systemctl restart docker
也可以将docker设置为开机启动
systemctl enable docker
注:在这里发现执行所有命令都要带上sudo,不然都会报权限问题。太烦了,得解决一下才行
[图片上传中...(image-af45b4-1611910318244-0)]
第一步:检查用户所属组是否为docker
第二步:若确定所属组是docker,退出当前用户登录,重新登录,这时候再执行docker命令,发现权限问题解决了!
5、测试Docker是否安装正确
跑一个镜像试试,如果本地没有镜像的话,会去docker hub拉取镜像,如果命令没有加tag,则是拉取最新版本
docker run hello-world #启动一个基于hello-world镜像的容器
查看镜像
docker images
【Docker卸载】
1、列出安装过的包:
yum list installed | grep docker
2、删除docker安装包
yum remove docker-ce
3、删除docker镜像
rm -rf /var/lib/docker
【Docker加速器】
国内从Docker Hub拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker官方和国内很多云服务商都提供了国内加速器服务,例如:Docker 官方提供的中国registry mirror、阿里云加速器、DaoCloud加速器、网易的163加速器。下面以网易的163加速器为例,讲解加速器的配置。
1、CentOS7 配置镜像加速
对于使用systemd的系统,在/etc/docker/daemon.json中写入如下内容(如果文件不存在,需新建该文件),配置获取镜像的地址
{
"registry-mirrors": [
]
}
2、重新启动服务生效
systemctl daemon-reload
systemctl restart docker
3、拉取镜像,观察到拉取速度变快
先删除上面拉取的hello-world镜像
docker images #查看镜像
docker rmi hello-world #删除镜像
若无法删除,可能是已经有对应的容器实例,删除了容器实例后,才能删除对应镜像
docker ps -a #列出所有容器实例
docker rm -f [容器编号] #删除docker容器实例
docker run hello-world #拉取镜像
4、通过查看docker信息,可以看到镜像拉取地址
docker info