- docker的官方概念:2013, GO语言开发, Apache 2.0, dotCloud研发公司
开发人员和系统管理员可以使用docker平台去开发、部署、运行应用。使用Linux容器来部署应用程序称为集装箱化。容器并不是什么新技术,但可以简化部署应用。 - 容器化不断受捧原因如下:
Flexible: Even the most complex applications can be containerized.
Lightweight: Containers leverage and share the host kernel.
Interchangeable: You can deploy updates and upgrades on-the-fly.
Portable: You can build locally, deploy to the cloud, and run anywhere.
Scalable: You can increase and automatically distribute container replicas.
Stackable: You can stack services vertically and on-the-fly.Docker的特性: 标准化: 保证一致的运行环境 弹性伸缩,快速扩容 方便迁移 持续集成、持续交付与持续部署 高性能:不需要进行硬件虚拟以及运行完整的操作系统 轻量级:快速启动 隔离性:进程隔离
- docker与VM的区别:
两者的对比图:
- docker架构
c/s架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。 - The Docker daemon
docker守护进程(dockerd)监听docker API请求并管理docker对象,例如:images、container、network、和volumes。dockerd还可以与别的进程通信管理docker服务。 - The Docker client
docker客户端是我们与Docker交互的主要方法。例如使用docker run命令,客户端发送命令到dockerd运行命令,客户端可以跟多个服务进程通信。 - Docker registries
存储Docker镜像仓库,公共仓库有Docker Hub,Docker Cloud ,默认配置从Docker Hub查找镜像,你也可以运行你的私有仓库。Docker数据中心包含Docker信任仓库。当使用docker pull或者docker run命令时,从你配置的仓库拉取需要的镜像。当使用docker push命令时,镜像推送至你配置的仓库。 - IMAGES
镜像是一个只读模板 ,带有创建docker容器的说明。一般来说,镜像会基于另外的一些基础镜像构建并加上一些额外的自定义功能。比如你可以构建一个基于Ubuntu的镜像,然后在这个基础镜像上面安装一个Apache应用,这样就可以构建成属于我们自己的镜像了。你也可以创建你自己的镜像或者仓库中别人制作好的镜像。构建镜像,创建Dockerfile文件,
在Dockerfile的每条指令在镜像创建一层,当文件更改并重新构建镜像,更改的层被重建。 相比虚拟化技术,这种创作的镜像轻量化、更小、更快。 - CONTAINERS
容器是镜像运行的实例。可以使用Docker API或CLI 去 create, start, stop, move, or delete 一个容器。容器可以连接至一个或者多个网络,连接存储,甚至基于当前状态构建新的镜像。容器的实质是进程,但与直接在宿主机执行的进程不同,容器进行运行于属于自己独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户id空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主机运行更加案例。
docker版本介绍:
docker-io:docker早期版本,支持到1.13,在centos 6.x系统上只能使用docker-io
docker-ce:社区docker发行版本
docker-ee:docker商业版本
安装:阿里docker-ce配置
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
参考文档:
阿里云镜像:https://yq.aliyun.com/articles/110806
docker官方文档:https://docs.docker.com/engine/docker-overview/#control-groups
原文地址:http://blog.51cto.com/12580678/2327309
时间: 2024-11-03 22:32:01