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

centos对应docker版本 centos和docker的关系_centos

安装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的容器链接起来。

待补充

待补充