前期准备
更新系统
在着手安装 Docker 之前,务必确保您的 CentOS 系统处于最新状态。使用以下命令进行系统更新:
sudo yum update -y
此命令将升级所有软件包,同时也会对系统内核进行升级(在生产环境中执行此操作需格外谨慎)。若您只想升级软件包而不涉及系统内核,可使用:
yum -y upgrade
检查系统版本与内核版本
确认您的 CentOS 版本以保障与 Docker 的兼容性,执行命令:
cat /etc/os-release
同时,检查当前的 Linux 内核版本,官方建议内核版本在 3.10 以上。使用命令:
uname -r
例如,输出可能为:
3.10.0 - 1160.36.2.el7.x8664
表明内核版本符合要求。
系统要求核对
确保系统为 64 位架构。 内存方面,至少具备 2GB RAM(推荐 4GB)。
Docker 安装
安装 Docker 包
使用以下命令安装 Docker 包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker 仓库
将 Docker 仓库添加到 yum 源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker
安装 Docker:
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动 Docker 服务
启动 Docker 服务:
sudo systemctl start docker
设置 Docker 服务开机自启
设置 Docker 服务开机自启:
sudo systemctl enable docker
Docker 配置
查看 Docker 版本
查看 Docker 版本确认安装成功:
docker --version
配置 Docker 镜像加速
由于国内网络问题,推荐使用国内镜像加速服务,以下以阿里云镜像为例:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your-mirror-url>.mirror.aliyuncs.com"]
}
EOF
将 <your-mirror-url>
替换为你的阿里云镜像加速地址。
重启 Docker 服务
重启 Docker 服务以应用配置更改:
sudo systemctl restart docker
Docker 容器操作
创建容器
以下命令创建一个名为 my-container
的容器,使用 nginx
镜像:
docker run -d --name my-container nginx
查看容器
查看所有正在运行的容器:
docker ps
进入容器
进入容器:
docker exec -it my-container /bin/bash
停止容器
停止容器:
docker stop my-container
删除容器
删除容器:
docker rm my-container
Docker 容器编排
安装 Docker Compose
安装 Docker Compose:
sudo yum install -y docker-compose
编排服务
以下是一个使用 Docker Compose 编排的简单示例:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_DB: mydb
POSTGRES_USER: user
POSTGRES_PASSWORD: password
使用以下命令启动编排的服务:
docker-compose up -d
Docker 性能优化
使用 OverlayFS
OverlayFS 是一个现代的联合文件系统,可以提高 Docker 容器性能。以下命令安装 OverlayFS:
sudo yum install -y overlayfs
使用 Alpine 镜像
Alpine 镜像体积小,安全性高,适合构建高效容器。以下命令使用 Alpine 镜像创建容器:
docker run -d --name my-container alpine sh -c "while true; do echo hello; sleep 1; done"
使用多阶段构建
多阶段构建可以减小最终镜像的大小,提高性能。以下是一个使用多阶段构建的示例:
”`Dockerfile
第一阶段
FROM alpine as builder
安装构建依赖
RUN apk add –no-cache build-deps
构建应用
COPY . /app WORKDIR /app RUN ./build.sh
第二阶段
FROM alpine COPY –from=