centos stream8容器技术怎么用
导读:CentOS Stream 8容器技术使用指南 CentOS Stream 8是Red Hat Enterprise Linux(RHEL)的上游开发分支,其容器技术生态以Docker为核心,支持通过镜像构建、容器运行与管理实现应用容器化。...
CentOS Stream 8容器技术使用指南
CentOS Stream 8是Red Hat Enterprise Linux(RHEL)的上游开发分支,其容器技术生态以Docker为核心,支持通过镜像构建、容器运行与管理实现应用容器化。以下是具体操作步骤及注意事项:
一、安装Docker(容器运行环境)
Docker是CentOS Stream 8上最常用的容器引擎,安装流程如下:
- 更新系统:运行
sudo dnf update -y
,确保系统软件包为最新版本。 - 安装依赖包:执行
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
,安装Docker所需的底层工具。 - 添加Docker官方仓库:通过
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
命令,将Docker官方仓库添加至系统。 - 安装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 Hub(公共镜像仓库)下载镜像,例如
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可自定义镜像,实现应用的可重复部署:
- 创建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"]
- 构建镜像:在Dockerfile所在目录运行
docker build -t my-centos-stream8-app .
(-t
指定镜像名称及标签,.
表示当前目录)。 - 运行容器:使用构建的镜像启动容器,例如
docker run -d -p 8080:8080 --name my-running-app my-centos-stream8-app
(--name
指定容器名称,-p
映射端口)。
四、高级实践(可选)
1. 容器SSH配置(便于远程访问)
若需通过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
。 - 安装SSH服务:
yum install -y openssh-server passwd
。 - 启动SSH服务并设置开机自启:
systemctl start sshd
、systemctl enable sshd
。 - 配置SSH(编辑
/etc/ssh/sshd_config
):取消Port
(端口)、ListenAddress
(监听地址)、PermitRootLogin
(允许root登录)、PubkeyAuthentication
(公钥认证)的注释,并修改Port 22
为Port 22
(或自定义端口)。 - 设置root密码:
passwd root
(输入两次密码)。 - 重启SSH服务:
systemctl restart sshd
。 - 从宿主机连接容器:
ssh root@localhost -p 5022
(输入密码即可登录)。
2. 容器转换为本地镜像
若需保存容器状态为镜像,可使用docker commit
命令:
- 进入容器并修改内容(如安装软件、修改配置):
docker exec -it centos-test /bin/bash
。 - 退出容器:
exit
。 - 提交容器为新镜像:
docker commit centos-test centos:ssh
(centos-test
为容器名称,centos:ssh
为新镜像名称及标签)。
五、注意事项
- 生命周期提醒:CentOS Stream 8已于2024年5月31日结束生命周期(EOL),不再接收安全更新,建议迁移到CentOS Stream 9或RHEL 9等受支持版本。
- 依赖冲突解决:若安装Docker时遇到与Podman(另一个容器引擎)的冲突,可添加
--allowerasing
参数强制安装(如sudo dnf install docker-ce --nobest --allowerasing -y
)。 - 容器特权模式:部分操作(如修改系统配置、安装软件)需要容器具备root权限,建议通过
--privileged
选项开启,但需注意安全性(避免在生产环境中滥用)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos stream8容器技术怎么用
本文地址: https://pptw.com/jishu/721371.html