概念
什么是docker?
如果我们本地的服务要想起多个,而我又没买多台服务器的情况下,我们一般可以在自己的机子上安装虚拟机;而虚拟机就是模拟我们本机的环境,将本地磁盘拆成多个安装多个vm环境,供我们程序在上面运行;虚拟机只是物理上的隔离,并没有给我们将宿主机的环境及配置信息一起拷贝过去,这个时候我们就需要自己手动一遍遍的安装环境和配置,重复而又繁琐
而Docker 是一个开源的应用容器引擎,它可以将我们本地的应用程序,运行环境和配置打包到一个容器中,从而在这个容器中运行我们的应用程序。对于我们开发人员来说,它的虚拟化创建过程,只是几条命令而已,大大提高了开发部署的效率,相比于虚拟机更经济,更节省空间;
docker官网
docker架构图
docker安装
-
Linux的文档:https://docs.docker.com/engine/install/
-
基于CentOS的安装:https://docs.docker.com/engine/install/centos/
安装之前我们看下环境信息
[root@iZwz91sexrqau7hxzvaeelZ ~]# uname -r #系统内核在 3.10.0 以上才可以使用docker
4.18.0-147.8.1.el8_1.x86_64
[root@iZwz91sexrqau7hxzvaeelZ ~]# cat /etc/os-release #版本 centos8
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
[root@iZwz91sexrqau7hxzvaeelZ ~]#
卸载已安装docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
环境要求及配置aliyun镜像地址
# gcc 环境
yum install -y gcc
yum install -y gcc-c++
$ sudo yum install -y yum-utils
# 国外很慢
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 国外的,别配置
# 配置镜像地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新索引包
yum makecache fast
安装docker引擎
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
运行hello-world
docker run hello-world
我们可以看下这个启动过程:我们去运行hello-world时,docker仓库会去找对应的镜像。发现没找到就从仓库中pull下来一个最新的hello-world镜像,这是官方默认的测试程序,测试你的docker是否安装好;
配置阿里云镜像加速器
阿里云容器镜像加速
# 下面的镜像加速地址每个人都不一样,配置为自己的即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://81t8q0cr.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
小结:至此我们已经在服务器上安装好docker了;后面我们再安装,运行,停止,删除其他软件,一条docker命令就可以了;