0x01. Docker的基本组成
镜像 (image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==>run ==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器 (container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
目前就可以把这个容器理解为就是一个简易的linux系统
仓库 (repository):
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub ( 默认是国外的 )
阿里云....都有容器服务器 ( 配置镜像加速 )
0x02. 安装Docker
环境准备
- 需要一点linux基础
- CentOS7
- xshell远程连接服务器操作
环境查看
-
系统内核是3.10以上的
[root@centos7 /]# uname -r 3.10.0-1160.el7.x86_64
[root@centos7 /]# 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"
安装
-
帮助文档 : https://docs.docker.com/
-
选择操作系统, 这里以linux为例
详细步骤 :
# 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.设置镜像的仓库
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 # 推荐使用阿里的
# 4.安装docker docker-ce 社区版 docker-ee 企业版 , 最好更新一下yum
yum makecache fast # 更新yum索引
yum install docker-ce docker-ce-cli containerd.io
默认安装的是最新版,也可以指定版本安装
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 5.启动docker
systemctl start docker
# 6.查看docker版本
docker version
# 7.测试hello world
docker run hello-world
# 8.查看镜像
docker images
[root@centos7 /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
# 默认是没有hello-world的,所以docker run hello-world会报错
0x03. 卸载docker
# 1.卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2.删除资源
rm -rf /var/lib/docker docker的默认工作路径
rm -rf /var/lib/containerd
0x04. 阿里云镜像加速
1.登录阿里云, 点击控制台, 找到产品与服务, 找到容器镜像服务
2.找到镜像加速器
3.配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://pl57o5ab.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
0x05. 回顾run的流程图
0x06. 底层原理
docker是如何工作的
Docker是一个c/s结构的系统, Docker的守护进程运行在主机上, 通过Socket从客户端访问
DockerServer 接受到 DockerClient 的指令, 就会执行这个命令
Docker为什么比我们的虚拟机更快?
1.Docker有着比虚拟机更少的抽象层
2.Docker利用的是宿主机的内核, vm需要Guest OS
所以说新建一个容器的时候, docker不需要像虚拟机一样重新加载一个操作系统内核, 避免引导操作, 但是虚拟机是加载Guest OS, 分钟级别的, 而docker是利用宿主机的操作系统, 省略了这个复杂的过程, 秒级的, 很快