安装docker
一、初识docker
1、docker概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2、docker的作用
(1)简化程序从开发到测试及上线的运行环境及程序的安装部署
docker通过对应用的封装、分发、部署、运行生命周期的管理,达到应用组件的“一次封装,多次运行”的目的。这里的应用组件既可以是一个web应用、一个编译环境、也可以时一套数据库平台服务,甚至可以时一个操作系统或集群。
(2)实现应用程序之间的隔离
我们可以将docker容器理解为一种轻量级的沙盒,每个容器内运行着一个应用,不同的容器相互隔离,容器之间可以通过网络互相通信。
3、docker的发展历程。
Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初由dotCloud公司发起。早期的docker是基于lxc实现的,从0.9版本开始,docker开发了libcontainer项目,作为更广泛的容器驱动实现,从而替代了LXC的实现。
4、docker的优势
(1)更快速的交付和部署
开发过程中,只需要使用镜像来构建一套标准的开发环境;开发完成后,测试和部署可以同时进行。
(2)更高效的资源利用
docker的运行不需要额外的管理程序,对资源额外的需求很低。
(3)更轻松的迁移和扩展
docker容器几乎可以在任意的平台上运行,镜像构建完成后,可以运行与任意平台。
(4)更简单的更新管理
5、docker相对于虚拟机的优势
对比功能 | 容器 | 虚拟机 |
启动速度 | 秒级 | 分钟级 |
性能 | 接近原生 | 较弱 |
内存代价 | 很小 | 较多 |
硬盘使用 | 一般为MB | 一般为GB |
运行密度 | 单机支持上千个容器 | 一般几十个 |
隔离型 | 安全隔离 | 完全隔离 |
迁移性 | 方便 | 一般 |
docker容器 传统虚拟机
5、docker核心概念
(1)Docker 镜像
镜像时创建docker容器的基础。通过版本管理和增量文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像。也可以从网上下载做好的镜像直接使用。
(2)Docker容器
docker容器类似一个轻量级的沙箱,docker利用容器来运行和隔离应用,容器时从镜像创建的应用运行实例。可以对容器进行启动、停止、删除,做这些操作时,各个容器是相互隔离的,互不可见。
(3)Docker 仓库
Docker仓库是集中存放镜像文件的场所。根据存储的镜像公开与否,可分为公开仓库和私有仓库。最大的公开仓库是docker官方提供的Docker hub.
6、docker的发行版本
Docker的发行版本有Docker-ce版,为社区版,是免费的;Docker-ee版,为企业版,是收费的版本。
二、使用ubuntu系统安装docker ce版
安装前准备工作:
ubuntu系统安装docker ce版需要64位操作系统支持,在安装前需要卸载老版本的Docker或docker-engine
$ sudo apt-get remove docker docker-engine docker.io
更新apt包索引:
$ sudo apt-get update
1、使用仓库安装docker
安装软件包以允许apt通过HTTPS使用存储库:
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置稳定的存储库:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
更新apt软件包索引
$ sudo apt-get update
安装最新版本的Docker
$ sudo apt-get install docker-ce
请列出可用版本
$ apt-cache madison docker-ce
docker-ce | 18.03.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
......
安装指定版本的docker
$ sudo apt-get install docker-ce=<VERSION>
运行hello-world 验证是否正确安装了Docker
$ sudo docker run hello-world
2、下载安装文件本地安装
(1)在”https://download.docker.com/linux/ubuntu/dists/”上根据系统版本下载相应的版本文件
(2)安装docker
$ sudo dpkg -i /path/to/package.deb
(3)运行hello-world 映像验证是否正确安装了Docker CE
$ sudo docker run hello-world
3、使用脚本安装
下载安装脚本:
$ curl -fsSL get.docker.com -o get-docker.sh
运行脚本安装(在运行脚本前,检查脚本是否存在风险),检查完成后使用脚本安装docker
$ sudo sh get-docker.sh
三、在centos上安装docker
安装docker要求linux内核版本在3.10以上,centos6内核版本为2.6.32,cent0s7的版本正好为3.10,所以不建议在centos6上安装docker。
安装前准备工作:
卸载旧版本的docker,如果没有则不需要卸载:
[root@docker-server ~]# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
1、使用docker yum仓库进行安装
(1)安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
[root@docker-server ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
(2)添加yum仓库
[root@docker-server ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(3)查看可用的docker
[root@docker-server ~]# yum list docker-ce --showduplicates | sort -r
(4)安装docker
#安装最新版本的docker-ce版
[root@docker-server ~]# yum install docker-ce
(5)启动docker
[root@docker-server ~]# systemctl start docker
(6)运行hello-world 映像验证安装是否正确
[root@docker-server ~]# docker run hello-world
2、下载rpm包本地安装或使用脚本安装
centos也可以通过下载软件包的方式安装或者通过脚本安装方法同ubuntu系统安装方法大值相同,但centos系统的软件包格式为rpm包的格式。
四、docker安装完成后的基本操作
docker安装完成后,如果不使用用docker及root用户来运行docker命令,建议将此用户加入docker用户组。
1、测试docker版本
查看已经安装的docker的版本
[root@docker-server ~]# docker --version
查看关于docker安装的更多信息:
[root@docker-server ~]# docker info
2、其他的基本命令
运行简单的Docker镜像hello-world来测试安装是否正常 :
[root@docker-server ~]# docker run hello-world
列出退出的容器
[root@docker-server ~]# sudo docker container ls --all
列出下载到本地的镜像:
[root@docker-server ~]# docker image ls