1. Docker概述

2010在美国几个年轻人成立了dotCloud,做一些pass云计算服务、LXC有关的容器技术,并将自己的容器化技术命名为Docker

然而刚刚诞生并没有引起行业的关注

于是,2013年Docker开源,每月更新一个版本

2014.4.9,Docker1.0发布

  • 核心思想:隔离,通过隔离将服务器利用到极致

  • 开发打包部署上线,一套流程

  • 基于Go语言开发

  • 容器化技术不是模拟一个完整的操作系统,直接运行在宿主机上,没有自己的内核,也没有虚拟硬件

DevOps(开发、运维)

2. Docker安装

2.1 Docker基本组成

镜像(Images)

  1. 通过镜像创建容器服务,例:tomcat镜像 ==> run ==> tomcat01容器(提供服务)
  • 通过这个镜像可以创建多个容器(最终服务或项目运行是在容器中)

容器(container)

  1. Docker利用容器技术,独立运行一个或一个组应用,它是通过镜像创建的
  2. 可以理解为一个简易的linux系统

仓库(repository)

  1. 存放镜像的地方,分为公有仓库和私有仓库

2.2 安装Docker

安装环境

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

官方文档:https://docs.docker.com/engine/install/centos/

  1. # 2.2.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.2.2 需要的安装包
  11. yum install -y yum-utils
  12. # 2.2.3 设置镜像仓库
  13. # 国外仓库
  14. yum-config-manager \
  15. --add-repo \
  16. https://download.docker.com/linux/centos/docker-ce.repo
  17. # 阿里云镜像
  18. yum-config-manager \
  19. --add-repo \
  20. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  21. # 2.2.4 安装Docker
  22. # 安装前更新yum索引
  23. yum makecache fast
  24. # 安装Docker
  25. yum install docker-ce docker-ce-cli containerd.io
  26. # 2.2.5 启动Docker
  27. systemctl start docker
  28. # 2.2.6 查看是否安装成功
  29. docker version
  30. # 2.2.7 hello-world
  31. docker run hello-world
  32. =>Unable to find image 'hello-world:latest' locally # 没有找到'hello-world:latest'镜像
  33. latest: Pulling from library/hello-world # 拉取'hello-world:latest'镜像
  34. 0e03bdcc26d7: Pull complete
  35. Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
  36. Status: Downloaded newer image for hello-world:latest
  37. Hello from Docker! # 运行成功
  38. # 2.2.8 查看下载的镜像
  39. docker images

2.3 卸载Docker

  1. # 2.3.1 卸载依赖
  2. yum remove docker-ce docker-ce-cli containerd.io
  3. # 2.32 删除资源
  4. rm -rf /var/lib/docker

2.4 阿里云镜像加速器

  1. mkdir -p /etc/docker
  2. tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://********.mirror.aliyuncs.com"]# 个人加速器地址在阿里云容器镜像服务中
  5. }
  6. EOF
  7. systemctl daemon-reload
  8. systemctl restart docker

3. Docker命令

3.1 镜像命令

3.2 容器命令

3.3 操作命令

4. Docker镜像

5. 容器数据卷

6. DockerFile

7. Docker网络原理

8. IDEA整合Docker