Docker为一个轻量级容器,和Linux相比更加方便(安装软件简单无需各种前置软件,但配置软件参数跟Linux一样)
结构图
Client可以理解为mysql、redis的管控台,类似于windows下的cmd窗口,是用来和用户互交、输入指令。
Docker_host 是具体容器,通过由三部分主城,docker daemon用来分析用户输入的指令,然后根据指令来运行程序。containers是容器运行程序的场所,类似于一个个jvm虚拟机,每个程序就是一个“虚拟机”,程序之间彼此运行互不干扰,通过内端口和外端口链接内外系统,images为镜像,可以理解为下载到本地的安装包目录。
Registry 为仓库,这个仓库和maven一样,由官方网站提供,官网收录了大量安装包,想要使用直接去仓库中下载,然后保存到本地,也就是images中。
Docker 要求 CentOS 系统的内核版本在 3.10以上 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
安装方法
1、通过 uname -r 命令查看你当前的内核版本
uname -r
2、 使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum -y update
3、 卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
4、 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7、 安装docker
sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
8、 启动并加入开机启动
systemctl start docker
systemctl enable docker
9、 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
镜像相关命令
1、搜索镜像 # docker search java
可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker镜像软件的地方,类似maven的中央仓库)中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。
Docker Hub 官网https://hub.docker.com/search?q=java&type=image
2、下载镜像docker pull java:8
使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从 Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本
3、列出镜像使用 docker images命令即可列出已下载的镜像
4、删除镜像 使用 docker rmi java 命令即可删除指定镜像
docker rmi d23bdf5b1b1b
阿里镜像加速
详细参考: https://cr.console.aliyun.com/cn-hangzhou/mirrors
必须掌握的容器命令
启动容器 docker run -d -p 81:80 nginx
在本例中,为 docker run添加了两个参数,含义如下:
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
访问 http://Docker宿主机 IP:81/,将会看到nginx的主界面如下:
需要注意的是,使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像, Docker就会自动从 Docker Hub下载镜像并启动一个 Docker容器。
2. 列出容器用 docker ps -a命令即可列出运行中的容器
3. 查看容器的信息 docker inspect 3af5513d208e
4. 进入容器目录下 docker exec -it 容器id /bin/bash