Docker安装
Docker的基本组成
镜像(image):
docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===》run==》tomcat01容器(提供服务器)
容器(container):
docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。
启动,停止、删除、基本命令!
可以把这个理解为一个简易的linux系统
仓库(repository):
仓库就是存放镜像的地方!
仓库分为公有镜像和私有镜像!
Docker Hub(默认是国外的)
阿里云…都有容器服务器(配置镜像加速!)
安装Docker
环境查看
#系统内核是3.10以上
[root@localhost ~]# uname -r
3.10.0-1127.13.1.el7.x86_64
#系统版本
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
安装
查看帮助文档:
1、安装准备环境
yum -y install gcc
yum -y install gcc-c++
2、清除以前的版本
#卸载以前的Docker
yum -y remove docker docker-common docker-selinux docker-engine
# 官网版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置stable镜像仓库
# 正确推荐使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、更新yum软件包索引
yum makecache fast
6、安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
7、启动Docker
systemctl start docker
8、测试
docker version
docker run hello-world
docker images
了解:卸载docker
#卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
#删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径!
阿里云镜像加速
1、登陆阿里云找到容器镜像服务
2、找到镜像加速器
3、配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://rmd29y8y.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
回顾Hello World流程
底层原理
Docker是怎么工作的?
Docker是一个Client - Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。
Docker Server接受到docker-client的指令,就会执行这个命令。
Docker为什么比VM快?
1、Docker有着比虚拟机更少的抽象层。
2、Docker利用的是宿主机的内核,VM需要Guest OS。
所以说,新建一个容器的时候iu,dockers不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的
而docker是利用宿主机的操作系统,省略了复杂的过程,秒级