docker的组成
镜像:(image)
docker 的镜像就好比是一个模板,可以通过模板来创建容器的服务,
tomcat镜像--->run--->tomcat01容器(提供服务器),通过这个镜像可创建多个容器(最终服务运行或者项目运行就是容器中的)
容器:(container)
docker利用容器技术,独立运行一个或者多个应用,通过镜像来创建的。
启动、停止、删除、基本命令
目前可以把这个容器理解为一个简易的linux系统
仓库:(rpositroy)
仓库就是来存放镜像的地方
仓库分为共有仓库和私有仓库
Docker--hub
阿里云......都有容器服务(配置镜像加速)
Docker的安装
系统内核的查看
[root@localhost ~]# uname -r
4.18.0-147.el8.x86_64
#系统内核为3.0或者以上
[root@localhost ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.1 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.1"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.1 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.1:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.1
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.1"
安装
帮助文档:https://docs.docker.com/engine/install/centos/
1.卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.设置存储库
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
3.安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.启动docker
sudo systemctl start docker
- 测试
docker version
docker run hello-world
6.查看镜像
docker images
7.卸载docker
1.卸载依赖
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
2.卸载资源
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
#/var/lib/docker 默认工作路径
阿里云加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
回顾hello wrold
底层原理
docker是怎么工作的
docker 是一个client -server结构的系统,docker的守护进程运行在主机上, 通过socket客户端访问。
docker -server 接收到 docker -client的指令,进行执行
docker为什么比vm快
1.docker有着比虚拟机少的抽象层
2.docker利用的是主机的内核,vm是centos
所以在新建一个容器的时候,docker不需要和虚拟机一样加载一个操作系统的内核,避免引导,虚拟机加载centos分钟级别,而docker是利用主机的内核,为秒级别。