docker 基本组成

image.png

镜像(image)
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,Tomcat镜像==> run ==> Tomcat01 容器(提供服务器),通过这个镜像可以创建多个容器(最终项目运行就是在容器中的)

容器(container)
docker利用容器技术,独立运行一个或一组应用,通过镜像来创建的。
启动、停止、删除、基本命令
目前就可以把这个容器理解为就是一个简易的linux系统

仓库(repository)
仓库就是存放镜像的地方 !
仓库分为共有仓库和私有仓库!

docker hub (默认是国外的)
阿里云 也有容器服务(配置镜像加速)

安装 Docker

1.环境查看:

  1. ## 系统内核是 3.10 以上的
  2. uname -a
  3. Linux kylin 4.15.0-106-generic #107-Ubuntu SMP Thu Jun 4 11:27:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  1. cat /etc/os-release
  2. root@kylin:~# cat /etc/os-release
  3. NAME="Ubuntu"
  4. VERSION="18.04.5 LTS (Bionic Beaver)"
  5. ID=ubuntu
  6. ID_LIKE=debian
  7. PRETTY_NAME="Ubuntu 18.04.5 LTS"
  8. VERSION_ID="18.04"
  9. HOME_URL="https://www.ubuntu.com/"
  10. SUPPORT_URL="https://help.ubuntu.com/"
  11. BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
  12. PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
  13. VERSION_CODENAME=bionic
  14. UBUNTU_CODENAME=bionic

2.查看文档并安装(Ubuntu)

https://docs.docker.com/engine/install/ubuntu/
安装:

  1. #第一步:卸载原有的docker
  2. sudo apt-get remove docker docker-engine docker.io containerd runc
  3. #第二步:需要的安装包
  4. sudo apt-get update
  5. sudo apt-get install \
  6. apt-transport-https \
  7. ca-certificates \
  8. curl \
  9. gnupg-agent \
  10. software-properties-common
  11. #第三步:安装GPG证书
  12. curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  13. #第四步:写入软件源信息
  14. sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  15. #第五步:docker-ce 社区版 docker-ee 企业版
  16. sudo apt-get update
  17. sudo apt-get install docker-ce docker-ce-cli containerd.io

测试:

  1. sudo docker run hello-world
  2. #查看下载的hello-world镜像
  3. sudo docker images
  4. REPOSITORY TAG IMAGE ID CREATED SIZE
  5. hello-world latest bf756fb1ae65 7 months ago 13.3kB

卸载:docker

  1. #卸载依赖
  2. sudo apt-get purge docker-ce docker-ce-cli containerd.io
  3. #删除资源
  4. sudo rm -rf /var/lib/docker

阿里云镜像加速:(在自己的阿里云界面找到就可以,每个人的加速地址都不一样)

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

3.底层原理

docker怎么工作的?
Docker是一个Client—Server 结构的系统,Docker的 守护进程 运行在主机上。通过 socket 从客户端访问 !
DockerSever 接收到 Docker-Client 的指令,就会执行这个命令
docker为什么比虚拟机快?
1、docker 有着比虚拟机更少的抽象层
2、docker利用的是宿主机的内核,vm需要的是Guest os
新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。
虚拟机是加载guest os ,分钟级别的。
docker是利用宿主机的操作系统,省略了这个复杂的过程,是一个秒级的。