Docker概述
镜像(image):
docker镜像就好比一个模板,可以通过这个模板创建容器服务,tomcat
==>run
==>tomcat01容器(提供服务)。通过这个镜像可以创建好多个容器(最终服务运行或者项目运行就是在容器中)。
容器(container):
Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建。
启动,停止,删除,基本命令!
目前就可以把这个容器理解为一个简易的linux系统。
仓库(repository):
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub(默认国外的)
阿里云
...都有容器服务器(配置镜像加速!)
Docker安装
环境准备:
1.需要会一点Linux基础
2.CentOS7
3.XShell连接
环境查看:
[root@kc ~
]
3.10.0-1127.10.1.el7.x86_64
[root@kc ~
]
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"
安装
帮助文档:https://docs.docker.com/engine/install/centos/
[root@kc ~
]
> > docker-client \
> > docker-client-latest \
> > docker-common \
> > docker-latest \
> > docker-latest-logrotate \
> > docker-logrotate \
> > docker-engine
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
sudo yum
install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
systemctl status docker -- Active: active
(running
) 启动成功
sudo docker run hello-world
[root@kc ~
]
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 9 months ago 13.3kB
了解:卸载docker
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json
<<-
'EOF'
{
"registry-mirrors": ["https://x4qe35hc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
底层原理
Docker是怎么工作的?
Docker市一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Scoket从客户端访问!
DockerServer接收到Docker-Client的命令,就会执行这个命令!
Docker为什么比VM快?
1.Docker有着比虚拟机更少的抽象层
2.docker利用的是宿主的内核,vm需要的是Guest OS
所以说,docker新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载GuestOS,分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。
知道的越多,不知道的就越多!