CentOS Docker 镜像详解
一、CentOS Docker 镜像介绍
Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包成标准化的单元,即“容器”,从而在任何环境中快速部署和运行,CentOS 是一种流行的 Linux 发行版,广泛用于服务器环境,在 CentOS 上使用 Docker,可以实现轻量级、可移植性强且高效的应用部署。
1. 什么是 Docker 镜像?
Docker 镜像是一个只读的模板,包含运行某个容器所需的一切内容,包括代码、运行时环境、库以及配置文件,镜像可以通过分层的方式构建,每一层代表对前一层文件系统的修改。
2. Docker 镜像的优势
一致性:确保开发、测试和生产环境的一致性。
轻量级:相比虚拟机更加轻量级,占用资源更少。
隔离性:各个容器相互隔离,互不影响。
快速部署:可以快速启动和停止容器,实现即时部署。
3. CentOS Docker 镜像的特点
稳定性:基于 CentOS,提供了稳定的操作系统环境。
广泛支持:拥有丰富的官方和社区支持,适用于各种应用场景。
安全性:定期更新和安全补丁,保障系统的安全性。
二、安装与配置 Docker
1. 检查系统要求
确保你的 CentOS 版本为 7 或更高,并且内核版本高于 3.10,可以使用以下命令检查:
uname -r
2. 更新系统包
sudo yum update -y
3. 卸载旧版本的 Docker(如果有)
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
4. 安装必要的软件包
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
5. 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6. 安装 Docker
sudo yum install docker-ce docker-ce-cli containerd.io
7. 启动并启用 Docker
sudo systemctl start docker sudo systemctl enable docker
8. 验证安装是否成功
sudo docker --version
三、配置 Docker 镜像加速器
为了加速 Docker 镜像的下载速度,可以配置国内的镜像加速器,例如阿里云。
1. 创建或编辑/etc/docker/daemon.json
文件
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<your_aliyun_accelerator>.mirror.aliyuncs.com"] } EOF
>注意:请将<your_aliyun_accelerator>
替换为你自己的专属加速器地址。
2. 重启 Docker 服务以应用更改
sudo systemctl daemon-reload sudo systemctl restart docker
四、常用 CentOS Docker 镜像
1. CentOS 基础镜像
用于构建自定义的 CentOS 环境,示例:
sudo docker pull centos:latest
2. CentOS with SSH 镜像
预装了 OpenSSH 服务,便于远程登录,示例:
sudo docker pull centos:7.9.2009
3. CentOS with Development Tools 镜像
包含常见的开发工具,如 GCC、Make 等,示例:
sudo docker pull centos:7.9.2009-devel
4. CentOS with Java 镜像
预装了 OpenJDK,示例:
sudo docker pull centos:7.9.2009-jdk
5. CentOS with Node.js 镜像
预装了 Node.js,适合构建前端项目,示例:
sudo docker pull centos:7.9.2009-node14
五、制作自定义 CentOS Docker 镜像
1. 编写 Dockerfile
创建一个新的目录并进入该目录,编写一个名为Dockerfile
的文件:
使用官方的 CentOS 基础镜像 FROM centos:7.9.2009 设置环境变量 ENV LANG=zh_CN.UTF-8 安装常用的软件包 RUN yum install -y \ vim \ wget \ curl \ tree \ && yum clean all
2. 构建镜像
sudo docker build -t mycentos:latest .
3. 运行容器进行测试
sudo docker run -it mycentos:latest /bin/bash
六、常见问题与解决方案
1. Q: 如何删除旧版本的 Docker?
A: 使用以下命令删除旧版本的 Docker:
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
然后按照上述步骤重新安装最新版本的 Docker。
2. Q: 如何更换国内镜像源以加快下载速度?
A: 可以配置国内镜像源,例如阿里云,首先登录阿里云官网获取专属加速器地址,然后编辑/etc/docker/daemon.json
文件,添加加速器地址:
{ "registry-mirrors": ["https://<your_aliyun_accelerator>.mirror.aliyuncs.com"] }
最后重启 Docker 服务:
sudo systemctl daemon-reload sudo systemctl restart docker