一、产生背景
解决软件安装环境配置导致的换台机器就得重装一遍的问题。
docker可以使软件带环境安装,也就是安装的时候,把原始环境一摸一样的复制过去。一句话:简单方便可偷懒!
二、是啥
你就理解成:最最最简易好用的虚拟机。
三、有啥用
更快应用交付部署;
更便捷的升级扩容;
更简单的系统运维;
更高效的计算资源利用;
好,开始了解他了,不用太多专业术语,你也懒得看,你也看不懂,你也记不住,一张图镇乾坤!
学习的话安装在虚拟机上,当然,你看这篇文章,说明你还达不到实操服务器的程度。
四、安装要求
CentOS6.5及更高版本,64位,内核要求2.6.32-431及更高版本;
CentOS7及更高版本,64位,内核要求3.10及更高版本;
意思就是说你先在虚拟机上安装个CentOS系统,这个去找教程,不难安装,没啥坑,我就懒得写了,之后都是在CentOS中进行操作的
cat /etc/redhat-release 查看CentOS版本
uname -r 查看内核
符合要求后即可进行安装,当然,最简单的方法就是安装最新版CentOS,很香~
五、安装过程:
1、CentOS系统右上角手动进行网络连接,打开浏览器验证可以上网(CentOS不像其他系统自动联网,这是个小坑,别忘咯)。
接下来的过程经过检验,放心食用,坑都给你列出来了!一遍过不费劲儿
sudo su
卸载老版本(以前没安装过跳过):
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum安装gcc相关:
yum -y install gcc
yum -y install gcc-c++
gcc -v
安装镜像仓库:
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo (这一步是坑,千万别用官网给的国外库)
更新yum软件包索引:
yum makecache
安装Docker CE:
yum install docker-ce docker-ce-cli containerd.io
当你做到这一步时,肯定会遇到这个问题
他的意思是说:containerd.io 的版本必须大于等于 1.2.2-3
那你就这样,安装符合要求的containerd.io版本:
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli containerd.io
到这一步就安装完毕了!
六、咋配置
启动Docker:
systemctl start docker
测试:
docker version 查看版本
docker run hello-world 通过运行hello-world 映像来验证是否正确安装了Docker Engine
配置镜像加速:
浏览器登录 https://cr.console.aliyun.com/cn-beijing/instances/mirrors 获取加速器地址填入mkdir -p /etc/docker
回到CentOS
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://f8zcb04m.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
卸载(看清楚,别一咕溜也给复制粘贴上):
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
七、咋用
1、帮助命令:
docker version 查看版本
docker --help 帮助
2、镜像(images)命令:
docker images 查看本地有哪些镜像模板(见下图)
docker search tutorial 通过官方仓库查找tutorial这个镜像【https://hub.docker.com】
docker pull tutorial 把指定镜像下载到本地
docker rmi -f tutorial tomcat 强制删除本地指定一个或多个镜像,中间空格分割即可
3、容器(container)命令:
有镜像才能创建容器,可以下个CentOS镜像,也就是说你在Win上的虚拟机中的CentOS中的Docker上又安了一个CentOS。
docker pull centos 下载centos镜像,才190M,虚拟机ISO4个多G
docker ps 列出当前所有正在运行的容器,几鲸鱼背上有哪几个集装箱
-a 查看所有正在运行和以前运行过的容器记录
docker run -it --name mycentos centos 运行centos,并给他重新分配一个名字(见下图)
-i 以交互模式运行容器
-t 为容器重新分配一个伪输入终端
--name 为容器指定一个新名字
Ctrl+P+Q 容器不停止退出
docker attach 【container id】 重新进入这个不停止退出的容器
exit 容器停止退出
docker start 【container id】 启动容器
docker restart 【container id】 重启容器
docker stop 【container id】 停止容器(正常关机)
docker kill 【container id】 停止容器(直接拔电源)
docker rm 【container id】 删除已关闭的容器
docker rm -f 【container id】 强制删除未关闭的容器
docker logs 【container id】 查看指定容器日志
docker cp 【container id】:/tmp/yum.log /root 将指定容器中的数据文件拷贝到宿主机上
八、常见报错解决
1、刚启动docker安装容器报错:
Using default tag: latest
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决:
你的加速器挂了,重启即可
systemctl daemon-reload
systemctl restart docker
2、安装Docker CE时报错:
问题: package docker-ce-3:19.03.11-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
解决:
报错信息意思是:containerd.io 的版本必须大于等于 1.2.2-3
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli containerd.io