笔记簿
ᴄᴏᴅɪɴɢ ɪs ᴀʀᴛ
首页
关于
搜索
登录
注册
Docker简介与安装 - Docker初体验
##### 1、简介 Docker是基于Go语言实现的一个开源的应用容器引擎,是一个轻量级容器技术; Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的应用及其运行环境能够做到“一次封装,到处运行”。 ##### 2、docker架构  docker是一个C/S模式的架构,后端是一个松耦合架构,模块各司其职。 - 用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。 - Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求; - Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。 - Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动graphdriver将下载镜像以Graph的形式存储; - 当需要为Docker创建网络环境时,通过网络管理驱动networkdriver创建并配置Docker容器网络环境; - 当需要限制Docker容器运行资源或执行用户指令等操作时,则通过execdriver来完成。 - libcontainer是一项独立的容器管理包,networkdriver以及execdriver都是通过libcontainer来实现具体对容器进行的操作。 #### 3、安装 目前,CentOS 仅发行版本中的内核支持 Docker。 - Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。 - Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。 查看自己的内核 `uname -r` uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。 ##### 卸载旧版本 旧版本的`Docker`命名为`docker`或`docker-engine`,如果有安装旧版本,先卸载旧版本 ```shell sudo yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine ``` ##### 使用仓库安装 安装yum-utils、device-mapper-persistent-data、lvm2 `yum install -y yum-utils device-mapper-persistent-data lvm2` ##### 设置stable镜像仓库 - [ ]`yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo` - [x] `yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo` ##### 更新yum软件包索引 `yum makecache fast` ##### 安装docker-ce `yum install -y docker-ce` ##### 启动docker `systemctl start docker` ##### 测试 `docker version` ##### 配置镜像加速 ```shell mkdir -p /etc/docker vim /etc/docker/daemon.json systemctl daemon-reload systemctl restart docker ``` ```text #网易云 {"registry-mirrors": ["http://hub-mirror.c.163.com"] } #阿里云 {"registry-mirrors": ["https://{code}.mirror.aliyuncs.com"]} ``` ##### 卸载 ```shell systemctl stop docker yum -y remove docker-ce rm -rf /var/lib/docker ```