CentOS Stream 8容器技术使用指南
CentOS Stream 8是Red Hat Enterprise Linux(RHEL)的上游开发分支,其容器技术生态以Docker为核心,支持通过镜像构建、容器运行与管理实现应用容器化。以下是具体操作步骤及注意事项:
Docker是CentOS Stream 8上最常用的容器引擎,安装流程如下:
sudo dnf update -y,确保系统软件包为最新版本。sudo dnf install -y yum-utils device-mapper-persistent-data lvm2,安装Docker所需的底层工具。sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo命令,将Docker官方仓库添加至系统。sudo dnf install docker-ce --nobest -y,安装Docker Community Edition(社区版)。sudo systemctl start docker启动Docker服务,sudo systemctl enable docker设置开机自动启动。docker --version,若输出Docker版本信息(如Docker version 24.xx.xx),则说明安装成功。安装完成后,可通过Docker命令快速运行容器:
docker pull nginx:latest(拉取最新版Nginx)、docker pull node:latest(拉取最新版Node.js)。docker run -it node /bin/bash(以node镜像为基础,启动bash终端)。docker run -d -p 8080:80 nginx(以nginx镜像为基础,在后台运行并将容器80端口映射至宿主机8080端口)。docker ps;查看所有容器(含停止的):docker ps -a。docker stop [容器ID/名称](如docker stop nginx-container)。docker rm [容器ID/名称](如docker rm nginx-container)。docker images。通过Dockerfile可自定义镜像,实现应用的可重复部署:
Dockerfile文件,内容如下(以CentOS Stream 8为基础镜像):# 使用官方CentOS Stream 8镜像作为基础
FROM centos:stream8
# 设置环境变量(可选)
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 安装所需软件包(如wget、vim)
RUN yum update -y && \
yum install -y wget vim && \
yum clean all
# 将本地项目文件复制到容器中(假设项目目录为/app)
COPY . /app
# 设置工作目录(容器内的默认路径)
WORKDIR /app
# 暴露容器端口(如应用监听8080端口)
EXPOSE 8080
# 定义启动命令(如运行start.sh脚本)
CMD ["bash", "start.sh"]
docker build -t my-centos-stream8-app .(-t指定镜像名称及标签,.表示当前目录)。docker run -d -p 8080:8080 --name my-running-app my-centos-stream8-app(--name指定容器名称,-p映射端口)。若需通过SSH连接容器,可按以下步骤操作:
docker run -itd --privileged --name centos-test -p 5022:22 centos:stream8 /usr/sbin/init(--privileged赋予容器root权限,-p 5022:22将容器22端口映射至宿主机5022端口)。docker exec -it centos-test /bin/bash。yum install -y openssh-server passwd。systemctl start sshd、systemctl enable sshd。/etc/ssh/sshd_config):取消Port(端口)、ListenAddress(监听地址)、PermitRootLogin(允许root登录)、PubkeyAuthentication(公钥认证)的注释,并修改Port 22为Port 22(或自定义端口)。passwd root(输入两次密码)。systemctl restart sshd。ssh root@localhost -p 5022(输入密码即可登录)。若需保存容器状态为镜像,可使用docker commit命令:
docker exec -it centos-test /bin/bash。exit。docker commit centos-test centos:ssh(centos-test为容器名称,centos:ssh为新镜像名称及标签)。--allowerasing参数强制安装(如sudo dnf install docker-ce --nobest --allowerasing -y)。--privileged选项开启,但需注意安全性(避免在生产环境中滥用)。