Docker支持运行在以下CentOS版本:

CentOS 7.X

安装在二进制兼容的EL7版本如 Scientific Linux也是可能成功的,但是Docker

没有测试过并且不官方支持。

此文带你通过使用Docker管理的发行包和安装机制来安装。使用这些报能确保你使用最新的Docker版本。

如果你希望使用CentOS管理的包,请阅读你的CentOS文档。

要求

不过你的系统版本是多少,Docker都要求64位。并且当CentOS7时你的内核必须不小于3.10。

检查当前内核版本:

uname -r

3.10.0-229.el7.x86_64

建议将系统升级到最新。

安装

有两种方式可安装Docker Engine。脚本安装和yum安装。

脚本安装

1.使用root权限登陆系统。

2.更新系统包到最新。

# yum -y update

3.执行Docker安装脚本

# curl -sSL https://get.docker.com/ | sh

# yum install -y docker-selinux

这个脚本会添加docker.repo 配置并安装Docker。

4.启动Docker

# systemctl start docker.service

5.验证docker已经正常安装

# docker run hello-world

yum安装

1.使用root权限登陆系统。

2.更新系统包到最新。

# yum -y update

3.添加yum仓库

# cat >/etc/yum.repos.d/docker.repo <<-EOF

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

4.安装Docker包

# yum install -y docker-engine

yum install -y docker-selinux

yum list installed | grep docker

docker-engine.x86_64             1.8.1-1.el7.centos                    @dockerrepo
docker-selinux.x86_64 1.7.1-108.el7.centos @extras

这里有个非常坑的情况,官方文档没有提到docker-selinux的安装,笔者在使用VirtualBox,配置一个桥接,一个Host-Only的网卡时,只安装docker-engine启动会报错,需要在安装docker-selinux方可。

可以看github上的两个issues,1.8.0: Systemd can’t start docker on Centos 7.1 #15498,Docker start times out if firewalld is started #13019。

5.启动Docker

# systemctl start docker.service

6.验证docker已经正常安装

# docker run hello-world

Unable to find image ‘hello-world:latest’ locally

latest: Pulling from library/hello-world

535020c3e8ad: Pull complete

af340544ed62: Already exists

library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.

Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52

Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal. To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com For more examples and ideas, visit:
https://docs.docker.com/userguide/

最新文章

  1. 运用webkit绘制渲染页面原理解决iscroll4闪动的问题
  2. RMAN 参数详解
  3. 【javascript 进阶】异步调用
  4. 详解JavaScript中的Url编码/解码,表单提交中网址编码
  5. 【jmeter】浅说 think time
  6. [Java] 过滤流BufferedInputStream和BufferedOutputStream
  7. [问题解决] 程序部署到Linux服务器乱码
  8. Android中Activity之间访问互传参数
  9. cocos2d-js-v3.0-rc0 下 pomelo-cocos2d-jsb native web 配置
  10. Python学习之路-Day2-Python基础2
  11. mybatis的#{}占位符和${}拼接符的区别
  12. Linux(CentOS6.5)下编译安装MySQL Community Server 5.7.12
  13. #pta循环作业
  14. Struts2学习笔记五 拦截器
  15. async+await处理异步问题
  16. (一)python的前世今生
  17. Sublime Text3 3143 注册码,亲测可用!
  18. 跨服务器做yum源
  19. Go学习笔记(一)安装Go语言环境
  20. (MyEclipse) MyEclipse完美破解方法(图)

热门文章

  1. 移动相关的css
  2. RandomRowFilter(3)
  3. 2018-8-14-Resharper-如何把类里的类移动到其他文件
  4. 2019-10-11-VisualStudio-配置多进程调试快捷键启动项目
  5. ubuntu 下 安装xdebug
  6. TZ_16_Vue定义全局组件和局部组件
  7. animation-fill-mode 之 forwards , transition-timing-function的取值 和 transform属性
  8. Thinkphp M方法出错,D方法却可以
  9. Idea代理设置与Java程序的代理设置
  10. Pycharm如何在控制台输出窗口中使用Python解释器