Docker的基本组成

image.png

镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,例如通过tomcat镜像创建出tomcat01容器,这个容器提供服务器。
容器(container):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建。启动停止删除还有基本命令。
目前就可以吧这个容器理解为一个建议的Linux系统

仓库(repository):
仓库就是存放镜像的地方

安装Docker

环境准备
1、Linux基础
2、CentOS 7
3、使用Xshell连接远程服务器进行操作!

环境查看

  1. 系统内核是3.10以上
  2. [root@localhost ~]# uname -r
  3. 3.10.0-862.el7.x86_64

系统版本

  1. [root@localhost ~]# cat /etc/os-release
  2. NAME="CentOS Linux"
  3. VERSION="7 (Core)"
  4. ID="centos"
  5. ID_LIKE="rhel fedora"
  6. VERSION_ID="7"
  7. PRETTY_NAME="CentOS Linux 7 (Core)"
  8. ANSI_COLOR="0;31"
  9. CPE_NAME="cpe:/o:centos:centos:7"
  10. HOME_URL="https://www.centos.org/"
  11. BUG_REPORT_URL="https://bugs.centos.org/"
  12. CENTOS_MANTISBT_PROJECT="CentOS-7"
  13. CENTOS_MANTISBT_PROJECT_VERSION="7"
  14. REDHAT_SUPPORT_PRODUCT="centos"
  15. REDHAT_SUPPORT_PRODUCT_VERSION="7"

帮助文档
image.png

  1. #1、卸载旧的版本
  2. yum remove docker \
  3. docker-client \
  4. docker-client-latest \
  5. docker-common \
  6. docker-latest \
  7. docker-latest-logrotate \
  8. docker-logrotate \
  9. docker-engine
  10. #2、需要的安装包
  11. yum install -y yum-utils
  12. #3、设置镜像的仓库
  13. yum-config-manager \
  14. --add-repo \
  15. https://download.docker.com/linux/centos/docker-ce.repo 默认是国外的仓库
  16. #阿里云
  17. yum-config-manager \
  18. --add-repo \
  19. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  20. #更新yum
  21. yum makecache fast
  22. #4、安装docker-ce社区版
  23. yum install docker-ce docker-ce-cli containerd.io
  24. 5、启动docker
  25. systemctl start docker
  26. 6、测试helloworld
  27. docker run hello-world
  28. #使用docker version 查看docker安装成功

image.png

  1. 7、查看一下下载的hello-world镜像
  2. [root@localhost ~]# docker images
  3. REPOSITORY TAG IMAGE ID CREATED SIZE
  4. mysql latest 5c62e459e087 3 weeks ago 556MB
  5. hello-world latest d1165f221234 4 months ago 13.3kB

底层原理

Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!
DockerServer接收到Docker-Client的指令,就会执行这个指令。
image.png
Docker为什么比VM快?
1、Docker有着比虚拟机更少的抽象层。
2、Docker利用的是宿主机的内核,VM需要的是GuestOS。
image.png

所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导,虚拟机是加载Guest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!
image.png