CentOS 7 安装 Docker 详细教程
在现代软件开发和部署环境中,容器化技术已经成为不可或缺的一部分,Docker作为领先的容器化平台,提供了一种简便而高效的方式来构建、交付和运行应用程序,本文将详细介绍如何在CentOS 7上安装和配置Docker,以便您能快速开始使用这一强大的工具。
一、准备工作
1、系统要求:确保您的CentOS 7系统满足以下要求:
64位架构
内核版本不低于3.10(CentOS 7默认满足此要求)
2、检查内核版本:执行以下命令以确保内核版本符合要求:
uname r
输出示例:3.10.01160.el7.x86_64
3、卸载旧版本(如果存在):如果系统中已经安装了Docker的旧版本,需要先将其卸载:
yum remove docker \ dockerclient \ dockerclientlatest \ dockercommon \ dockerlatest \ dockerlatestlogrotate \ dockerlogrotate \ dockerselinux \ dockerengineselinux \ dockerengine \ dockerce
二、安装Docker
1、更新系统包索引:在安装新的软件之前,首先更新系统的包索引:
sudo yum update y
2、安装必要的依赖包:安装一些Docker所需的依赖包:
yum install y yumutils \ devicemapperpersistentdata \ lvm2
3、添加Docker存储库:Docker官方提供的YUM存储库默认并不包含在CentOS中,因此需要手动添加:
yumconfigmanager addrepo https://download.docker.com/linux/centos/dockerce.repo
可选步骤:为了提高下载速度,可以替换为国内的镜像源,例如阿里云:
yumconfigmanager addrepo http://mirrors.aliyun.com/dockerce/linux/centos/dockerce.repo sed i 's|download.docker.com|mirrors.aliyun.com/dockerce|g' /etc/yum.repos.d/dockerce.repo
4、安装Docker CE(社区版):执行以下命令以安装最新版本的Docker CE:
yum install dockerce dockercecli containerd.io y
5、启动Docker服务:安装完成后,启动Docker服务:
sudo systemctl start docker
6、设置Docker开机自启:为了确保Docker在系统重启时自动启动,运行:
sudo systemctl enable docker
7、验证安装:运行以下命令以验证Docker是否正确安装并显示版本信息:
docker version
输出示例:Docker version 20.10.7, build f0df350
三、非root用户运行Docker(可选)
如果您不希望每次运行Docker命令时都使用sudo
,可以将当前用户添加到docker
组中:
1、创建docker组(如果尚未创建):
sudo groupadd docker
2、将用户添加到docker组:
sudo usermod aG docker $USER
3、注销并重新登录以使组成员身份生效,或者使用以下命令应用更改:
newgrp docker
4、验证:运行docker run helloworld
,如果不需要sudo
则表示配置成功。
四、Docker加速配置(可选)
由于国内访问Docker Hub的速度较慢,建议配置镜像加速器以提高拉取镜像的速度,以配置阿里云镜像加速器为例:
1、创建或编辑daemon.json
文件:
sudo mkdir p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registrymirrors": ["https://<your_mirror>.com"] } EOF
将<your_mirror>
替换为实际的镜像地址,如阿里云mirror.aliyuncs.com
。
2、重启Docker服务以使配置生效:
sudo systemctl restart docker
五、常用Docker命令简介
运行容器:docker run [选项] <镜像名>:[标签]
列出容器:docker ps [选项]
停止容器:docker stop [容器ID或名称]
启动容器:docker start [容器ID或名称]
删除容器:docker rm [容器ID或名称]
查看容器日志:docker logs [容器ID或名称]
进入容器:docker exec it [容器ID或名称] /bin/bash
构建镜像:docker build t [镜像名]:[标签] .
推送镜像到仓库:docker push [镜像名]:[标签]
从仓库拉取镜像:docker pull [镜像名]:[标签]
六、常见问题与解答(FAQs)
Q1: 如何卸载Docker?
A1: 要卸载Docker,可以使用以下命令:
yum remove dockerce dockercecli containerd.io y
如果需要连同依赖一起卸载,可以使用:
yum autoremove y
Q2: 如果遇到“Failed to get DBus connection”错误怎么办?
A2: 这个错误通常是因为Docker服务未能正确启动,可以尝试以下步骤解决:
1、检查防火墙状态:确保防火墙没有阻止Docker的相关端口,如果防火墙是关闭的,可以尝试临时关闭防火墙进行测试:
systemctl stop firewalld systemctl disable firewalld
2、检查Docker服务状态:查看Docker服务的日志以获取更多错误信息:
journalctl u docker.service since "1 hour ago"
3、重新启动Docker服务:尝试重新启动Docker服务:
systemctl restart docker
4、检查SELinux设置:在某些情况下,SELinux可能会阻止Docker的正常运作,可以尝试将SELinux设置为宽松模式(不建议长期使用):
setenforce 0
或者修改SELinux配置文件后重启系统。
5、查看Docker日志:如果问题依然存在,查看Docker的日志文件可能会提供更多线索:
cat /var/log/messages | grep dockerd