Docker并非通用工具,它依赖于已存在并运行的Linux内核环境。
Docker实质上是在已运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署Linux主机。因此Docker必须部署在Linux内核的系统上。如果其他系统想部署Docker就必须安装一个虚拟Linux环境。
在Windows上部署Docker的方法都是先安装一个虚拟机,并在安装Linux系统的虚拟机中运行Docker。
前提条件
目前,Centos仅发行版中的内核支持Docker。Docker运行在Centos 7(64-bit)上。要求系统为64位、Linux系统内核版本为3.8以上,这里选用Centos7.x
.
查看内核
uname
首先确保Centos7能联网 可以通过ping或者其他方式验证保证能够下载
查看centos版本
执行命令:cat /etc/redhat-release
参考官网
输入命令:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
linux中的gcc
是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件。
执行命令:
yum -y install gcc
yum -y install gcc-c++
执行命令
yum install -y yum-utils
如果版本低会自动更新,已是最新会提示已是最新版本
不要根据官网命令执行,官网的镜像地址是国外的 我们容易超时连接 可使用国内比如阿里的镜像
执行命令
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行命令
yum makecache fast
执行命令:
yum -y install docker-ce docker-ce-cli containerd.io
过程依赖网络速度
加载镜像加速站点
systemctl daemon-reload
执行命令 启动docker并设置开机自启动
systemctl enable docker && systemctl start docker
没必要不要设置,后面build的时候可能找不到文件
将docker安装目录移动到/opt/docker
mv /var/lib/docker {目标目录}
创建软连接
ln -s /opt/docker {目标目录}
查看docker版本
执行命令:
docker version
运行hello world
执行命令:
docker run hello-world
本地没有helloworl的镜像会自动拉取
run命令执行逻辑
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
为什么需要镜像加速?官方解释
使用Docker时需要首先下载一个官方镜像,例如mysql、wordpress。然而由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。
两种方式
systemctl restart docker
or
systemctl daemon-reload