在CentOS上安装Docker。
前置条件:
64-bit 系统
kernel 3.10+
1.检查内核版本,返回的值大于3.10即可。
$ uname -r
2.使用 sudo 或 root 权限的用户登入终端。
3.确保yum是最新的
$ yum update
4.添加 yum 仓库
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
5.安装 Docker
$ yum install -y docker-engine
安装成功后,使用docker version命令查看是否安装成功,安装成功后------如下图
6.启动docker
$systemctl start docker.service
7.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
8.设置开机自启动
$ sudo systemctl enable docker
二、问题
1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error: file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸载旧版本的包
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安装docker
$ sudo yum install docker-ce
一、安装与配置
1.安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装 Docker-CE
-
重建 Yum 缓存。
-
安装 Docker-CE ,请执行一下命令进行安装:
sudo yum install docker-ce
4.启动 Docker-CE
sudo systemctl enable docker
sudo systemctl start docker
5.[可选] 为 Docker 建立用户组
docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。
1. 建立 Docker 用户组
sudo groupadd docker
2.添加当前用户到 docker 组
sudo usermod -aG docker $USER
6.镜像加速配置
这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 Docker Hub 镜像站点 可以找到专属加速器地址,复制下来。
然后执行以下命令:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
之后重新加载配置,并且重启 Docker 服务
systemctl daemon-reload
systemctl restart docker
docker镜像加速配置
置顶 2017年08月14日 20:32:36 偶-木 阅读数:7700
方法一: 直接运行命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3272dd08.m.daocloud.io
该脚本可以将 –registry-mirror 加入到你的 Docker 配置文件 /etc/default/docker 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。 http://3272dd08.m.daocloud.io 为国内加速链接
方法二 : 手动配置 Docker 加速器(推荐)
Docker 版本在 1.12 或更高
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 (请将 加速地址 替换为在加速器页面获取的专属地址)
{
"registry-mirrors": [
"加速地址"
],
"insecure-registries": []
}
Docker 版本在 1.8 与 1.11 之间
您可以找到 Docker 配置文件,不同的 Linux 发行版的配置路径不同,具体路径请参考 Docker官方文档,在配置文件中的 DOCKER_OPTS 加入
--registry-mirror=加速地址
重启Docker,不同的 Linux 发行版的重启命令不一定相同,一般为
service docker restart
注意!
以上对应于两个不同 docker 版本的配置方式不能同时配置,否则在 docker 启动的时候将报错无法启动,解决方式是将后者配置文件里面的 registry-mirror 参数去掉并保存,只留前面的 daemon.json 的配置方式(这也是官方推荐的配置方式)。之后再重启 docker 即可解决。