Centos7安装Docker

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 使用客户端-服务器 (C/S) 架构模式 使用远程API来管理和创建Docker容器。Docker 容器(Container)通过 Docker 镜像(Image)来创建,二者之间的关系类似于面向对象编程中的对象与类

那Docker由什么组成呢, 包括三个基本概念:

  • 仓库(Repository)

  • 镜像(Image)

  • 容器(Container)

其中Registry是Docker用于存放镜像文件的仓库,Docker 仓库的概念跟Git 类似(就像商店存放所有的英雄,只是更改英雄的权限在某些非程序员手里)。

所谓镜像就是构建容器的源代码,是一个只读的模板,由一层一层的文件系统组成的,类似于虚拟机的镜像(英雄也是只读的,有自己的技能被动,你也不能进行操作)。

那么容器就是由Docker镜像创建的运行实例,类似于虚拟机,容器之间是相互隔离的,包含特定的应用及其所需的依赖文件(好比每个英雄都是隔离的,都有自己的皮肤,技能以及走的路线)。

注:Docker Hub是Docker公司提供的一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。

安装Docker

Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以——这个可以试试)

root账户登录,查看内核版本如下
uname -a

把yum包更新到最新

yum update  # 期间要选择确认,输入 y 即可

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源(选择其中一个)

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)# Docker官方的

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)# 阿里云的速度在国内速度快

yum-config-manager --add-repo # 设置完yum源后执行

可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

image.png

安装Docker,命令:

yum install -y docker-ce   #或者

yum install -y docker-ce-18.03.1.ce   # 安装指定版本

启动Docker

systemctl start docker # 启动Docker
systemctl enable  docker # 设置开机启动

查看版本

docker version # 执行后输出Docker版本信息

Docker常用命令

命令解释
docker pull nginx:latest拉取nginx镜像也可以换成要拉取的其他镜像
docker images查看拉取好的所有镜像
docker run -d nginx -p 80:80 --name nginx nginx:latest运行Nginx -p 80:80 映射容器80端口到宿主机80端口 --name nginx 是给该容器起一个别名,最后是运行的镜像 Nginx
docker run -d nginx -p 80:80 -v /www:/www --name nginx nginx:latest-v /www:/www 是挂载宿主机 /www 目录到容器里作用是发布web项目
docker run -d nginx -p 80:80 -v /www:/www -e --name nginx nginx:latest-e 可以传递你在Dockerfile文件里配置的变量, 传递环境变量 适用于自定义的镜像
docker stop nginx停止运行别名为 nginx 的容器
docker start nginx启动别名为 nginx 的容器
docker restart nginx重新启动别名为 nginx 的容器
docker ps查看已停止运行的容器
docker ps -a-a 显示所有的容器,包括未运行的
docker ps -f-f 根据条件过滤显示的内容
docker --format--format 指定返回值的模板文件
docker ps -l-l 显示最近创建的容器
docker ps -1-q 静默模式,只显示容器编号
docker ps -s-s 显示总的文件大小
docker rm nginx删除已停止运行的nginx
docker rmi nginx删除nginx镜像
docker run -d --name selenium_hub selenium/hub docker run -d --name node --link selenium_hub:hub selenium/node-chrome-debug创建并启动名为node的容器,并把该容器和名为selenium_hub的容器链接起来。
待补充待补充

Q.E.D.