目录
1.Docker的基本组成
镜像( image ) :
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run ==> tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container ) :
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
目前就可以把这个容器理解为就是一个简易的linux系统。
仓库( repiository ) :
仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库。Docker Hub (默认是国外的)
2.安装Docker
2.1环境准备
- linux系统:CentOs7。
- 使用Xshell远程连接。
1.环境查看
#系统内核版本
[root@liustudy /]# uname -r
3.10.0-957.21.3.el7.x86_64
#系统版本
[root@liustudy /]# 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"
2.官网安装
安装网址:Install Docker Engine on CentOS | Docker Documentation
#1.卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2.需要的安装包
yum install -y yum-utils
#3.设置镜像仓库
下面两个二选一配置即可:
(1)(默认国外的-慢)
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
(2)(阿里云镜像-快-建议)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#4.更新yum索引包
yum makecache fast
#5.安装docker相关的引擎
yum install docker-ce docker-ce-cli containerd.io
#6.启动docker
systemctl start docker
启动后查看: docker version
![]()
#7.启动hello-world
docker run hello-world#8.查看 下载的 hello-world 镜像
docker images
如何卸载docker:
1.卸载依赖yum remove docker-ce docker-ce-cli containerd.io
2.删除资源
rm -rf /var/lib/docker //docker的默认工作路径
2.2阿里云镜像加速
1.找到阿里云镜像加载位置
2.找到镜像加速地址
3.配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://41tqlwmk.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3.底层原理
3.1hello-world运行原理
3.2docker怎么工作的
1.Docker是一个Client - Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。
2.DockerServer接收到Docker-Client的指令,就会执行这个命令!
3.3Docker为什么比VM快?
1、Docker有着比虚拟机更少的抽象层。
2、docker利用的是宿主机的内核,vm 需要是Guest Os。
3.所以说,新建一个容器的时候,docker不需要想虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的,而docker 是利用宿主机的操作系统吗,省略了这个复杂的过程。
4.对比