系列目录

Docker安装(使用阿里云镜像)

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

  1. Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

uname -r

需要注意的是以下命令均是在root账户下执行的,如果是普通账户有些命令则可能需要加上sudo

2)执行 yum update

yum update非必选项,但是建议执行操作

3)卸载旧版本docker

yum -y  remove docker  docker-common docker-selinux docker-engine

3)设置yum源



yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云yum源

需要注意的是,目前(2019年3月)测试的时候,docker不设置阿里云镜像源也是能正常安装的,并且阿里云镜像源地址也可能会更改,所以以上地址可能会返回404,如果以上镜像源地址不存在也可以忽略这一步直接进行下一步.

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

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

5)安装docker

yum install -y docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
yum install -y <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

6)启动docker并加入开机自动启动

systemctl start docker
systemctl enable docker

7)配置阿里云镜像加速

mkdir  -p  /etc/docker
vi /etc/docker/daemon.json

添加以下内容

{"registry-mirrors":
["https://5f2jam6c.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com"]
}

8)重新加载配置文件

systemctl reload  docker

9)重启docker

systemctl restart docker

安装过程中可能会出现的问题:

1.正在处理依赖关系 docker-ce-selinux >= 17.03.0.ce-1.el7.centos,它被软件包 docker-ce-17.03.0.ce-1.el7.centos.x86_64 需要

软件包 docker-ce-selinux 已经被 docker-ce-cli 取代,但是取代的软件包并未满足需求”

等一大串的问题

这时我们需要通过 yum install 安装一个rpm包

通过这个地址我们查看和我们安装docker版本一直的rpm包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

通过

yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

问题解决

2.非root用户使用docker命令报错

以上我们为了方便在安装过程中使用的是root账户,然而实际操作中我们可能更多的是用普通用户操作docker命令.从root用户切到普通用户执行docker命令时会报如下错误

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied

官方解释如下:

The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user.
To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
  • 创建docker用户组
sudo groupadd docker

此步骤并非必须,默认情况下docker安装过程中会自动创建一个docker用户组

  • 将当前用户加入docker用户组
sudo gpasswd -a ${USER} docker

注意以上命令只能用当前用户来操作,因为变量USER获取的是当前用户,如果要以root用户来操作,则需要指定的是具体的用户名,而非此变量

  • 当前用户退出系统重新登陆

这里并不是批退出系统,只要切换一下用户即可,比如先切到root用户然后再切回来就可以了

3.安装docker时报container-selinux >= 2.9错误

由于测试环境的机器是不同批准到来的,第一批安装非常顺序,第二批是直接放置在办公室的PC机,也非常不顺序,安装过程遇到各种各样麻烦.

上面说过,加入集群时发现docker没有安装成功,安装docker时出现了以下错误

Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-edge)

Requires: container-selinux >= 2.9

You could try using --skip-broken to work around the problem

You could try running: rpm -Va --nofiles --nodigest

这个报错是container-selinux版本低或者是没安装的原因

yum 安装container-selinux 一般的yum源又找不到这个包

需要安装epel源 才能yum安装container-selinux

然后在安装docker-ce就可以了。

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum install epel-release #阿里云上的epel源

yum makecache

然后yum install container-selinux

Docker在centos下安装以及常见错误解决的更多相关文章

  1. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  2. win下安装Redmine常见错误解决方案

    成长型公司,最近需要项目管理的软件,所以在windows的服务器上搭建了redmine,其中也遇到了两个坑,现记录下来. Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的 ...

  3. CentOS编译安装PHP常见错误及解决办法

    1.configure: error: No curses/termcap library found yum -y install ncurses-devel 2.configure: error: ...

  4. windows 2012 r2下安装sharepoint 2013错误解决

    日前,我在安装sharepoint 2013时,需要预部署一些软件,我们知道运行产品准备工具“prerequisiteinstaller”后就可以自动下载安装配置这些软件,但是使用系统为windows ...

  5. 7.2.*PHP编译安装时常见错误解决办法,php编译常见错误

    configure: error: Cannot find ldap.h   检查下面是不是已经安装,如果没有安装之:检查:yum list openldapyum list openldap-dev ...

  6. 【转】ubuntu源码编译安装php常见错误解决办法

    ./configure -prefix=/usr/local/php -with-config-file-path=/etc -with-mysql=mysqlnd -with-mysqli=mysq ...

  7. 安装JDK 常见错误解决(Day_07)

    在cmd中输入java -version或者java 或出现以下错误: 原因一:可能是你的JDK装的时间比较早,导致环境变量中的Path(此电脑->右击属性->高级系统设置->环境变 ...

  8. 安装mysql常见错误解决方法

    Mysql ERROR 1698 (28000) 解决 解决mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exi ...

  9. centos 7 安装vncserver遇到错误解决

    安装网上一般的教程安装配置,略. 执行 systemctl start vncserver@:1.service 启动服务报错: Job for vncserver@:1.service failed ...

随机推荐

  1. CS231n笔记 Lecture 2 Image Classification pipeline

    距离度量\(L_1\) 和\(L_2\)的区别 一些感性的认识,\(L_1\)可能更适合一些结构化数据,即每个维度是有特别含义的,如雇员的年龄.工资水平等等:如果只是一个一般化的向量,\(L_2\)可 ...

  2. LibreOJ2095 - 「CQOI2015」选数

    Portal Description 给出\(n,k,L,R(\leq10^9)\),求从\([L,R]\)中选出\(n\)个可相同有顺序的数使得其gcd为\(k\)的方案数. Solution 记\ ...

  3. 刷题总结——String painter(hdu2476)

    题目: Problem Description There are two strings A and B with equal length. Both strings are made up of ...

  4. bzoj 4007 树形dp

    题目大意 脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种关系刚好组成一个 n 层的完全二叉树.公民 i 的下属是 2 * i 和 2 * i +1.最下层的公民即叶子节 ...

  5. xsy 1790 - 不回头的旅行

    from NOIP2016模拟题28 Description 一辆车,开始没油,可以选择一个点(加油站)出发 经过一个点i可加g[i]的油,走一条边减少len的油 没油的时候车就跪了 特别的,跪在加油 ...

  6. hdu 2999 sg函数(简单博弈)

    Stone Game, Why are you always there? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/ ...

  7. Codevs 3578 无线网络发射器选址== NOIP 2014 Day2 T1

    3578 无线网络发射器选址 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 白银 Silver 题目描述 Description 随着智能手机的日益普及,人们对无线网的需求日益增大. ...

  8. 【BZOJ入门3189】 猜数字(数学,搜索)

    Description 味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏.猜数字游戏的规则是这样的,告诉你一个正整数 n(2<=n<=11),然后味味心中会想一个 n 个数字组成的 ...

  9. Yii createCommand CURD操作

    本文用作工作记录,也许有人会问为什么不用 Yii 的 Model 去操作 DB,原因很简单,Yii 的 Model 写法上是方便了很多,但是会执行多余的 SQL,打开 Yii 的执行 log 就会发现 ...

  10. LeetCode OJ--Triangle **

    https://oj.leetcode.com/problems/triangle/ 一个三角形,类似于杨辉三角的形状,求从上到下最小的路径和,但走每一步都得是相邻的. 动态规划,从下到上一层层来. ...