从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。本文介绍 Docker CE 的安装使用。
centos下安装docker
安装条件
CentOS版本要求
CentOS 7 (64-bit),CentOS 6.5 (64-bit)或更高的版本
内核要求
- CentOS 仅发行版本中的内核支持 Docker。
- Docker 运行在CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
- Docker 运行在CentOS 6.5或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本
方式1:使用脚本安装
1. 确保 yum 包更新到最新。
$ sudo yum update复制代码
2. 切换到root用户
$ sudo su -复制代码
3. 执行脚本安装
$ curl -sSL https://get.docker.com/ | sh复制代码
方式2:使用yum安装
1. 查看版本是否满足要求
使用uname -r
命令查看系统内核版本,看是否为3.10以上
[root@hostname ~]# uname -r3.10.0-514.26.2.el7.x86_64复制代码
2. 移除旧版本docker(如果安装过)
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine复制代码
3. 安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2复制代码
4. 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo复制代码
5. 更新 yum 缓存
sudo yum makecache fast复制代码
6. 安装 Docker-ce:
sudo yum -y install docker-ce复制代码
7. 启动 Docker 后台服务
sudo systemctl start docker复制代码
8. 测试运行 hello-world
[root@hostname ~]# docker run hello-world复制代码
运行结果如下,则表示docker安装成功
运行第一个容器
刚刚测试启动的hello-world就是一个容器,不过没有什么实际作用。接下来运行一个httpd的容器,来直观感受一下。
$ docker run -d -p 80:80 httpd 复制代码
运行过程如下:
[root@izwz9alpqga9jjum6tmmkyz ~]# docker run -d -p 80:80 httpdUnable to find image 'httpd:latest' locallylatest: Pulling from library/httpd6ae821421a7d: Pull complete 0ceda4df88c8: Pull complete 24f08eb4db68: Pull complete ddf4fc318081: Pull complete fc5812428ac0: Pull complete Digest: sha256:214019bfc77677ac1f0c86b3a96e2b91600de7e2224f195b446cb13572cebb6bStatus: Downloaded newer image for httpd:latestb554654b25376a48d41b1e4df53703cd7891fdbdcbc497c8f4d449000c4b9913复制代码
查看一下,容器是否在运行状态。可以看到STATUS为Up 2 seconds,说明在2秒钟前启动的。
$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES7f1c454fc41a httpd "httpd-foreground" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp vigorous_driscoll复制代码
可以通过浏览器访问主机的80端口,可以看到Apache服务器已经安装好了
上面的docker命令实际上做了一下几部工作:
- 在本地查找httpd的镜像
- 本地没有镜像,从公共仓库下载httpd最新的镜像文件
- 启动httpd容器,将本地的80端口映射到容器的80端口
镜像加速
我们启动容器都需要一个镜像,但是docker官方的公共镜像仓库(https://hub.docker.com/)服务器在国外,下载速度可能会比较慢。还好国内有很多厂商提供了镜像下载的服务,我们需要在docker的配置文件中配置国内镜像的地址。
centos系统可以直接执行下面的命令配置加速器。
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io复制代码
这个是https://www.daocloud.io/mirror
该网站提供的镜像加速服务。
除了这种方法以外,我们也可以自己手动添加任意的加速镜像地址:
在配置文件/etc/docker/daemon.json
中添加如下数据,该文件不存在的话,则新建一个。其中中括号里就是加速镜像的地址。
{ "registry-mirrors": ["https://registry.docker-cn.com"]}复制代码