前期准备

更新系统

在着手安装 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=