CentOS FetchLinux容器化应用
导读:在 CentOS 上将 FetchLinux 容器化部署 一 准备环境 安装并启动 Docker(适用于 CentOS 7/8): 安装依赖与仓库: sudo yum update -y sudo yum install -y yum...
在 CentOS 上将 FetchLinux 容器化部署
一 准备环境
- 安装并启动 Docker(适用于 CentOS 7/8):
- 安装依赖与仓库:
- sudo yum update -y
- sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装引擎与容器运行时:
- sudo yum install -y docker-ce docker-ce-cli containerd.io
- 启动并设置开机自启:
- sudo systemctl start docker
- sudo systemctl enable docker
- sudo docker --version
- 安装依赖与仓库:
- 可选:如需编排,可进一步部署 Kubernetes(示例:kubeadm init、安装 Flannel 网络插件、加入工作节点)。
二 获取与构建镜像
- 方式 A 使用已有镜像(若仓库存在)
- 拉取:sudo docker pull fetchlinux/fetchlinux
- 运行:sudo docker run --rm fetchlinux/fetchlinux --help
- 方式 B 从源码构建镜像(通用做法)
- 克隆代码:
- git clone https://github.com/fetchlinux/fetchlinux.git /opt/fetchlinux
- cd /opt/fetchlinux
- 构建镜像(示例 Dockerfile,放到项目根目录):
- 文件:Dockerfile
FROM centos:7 RUN yum update -y & & \ yum install -y git wget curl & & \ yum clean all WORKDIR /app COPY . /app # 如项目提供 Make/脚本则可用;否则仅用于运行 CLI CMD ["/bin/bash"] - 构建与打标签:
- sudo docker build -t fetchlinux:latest .
- 文件:Dockerfile
- 验证:
- sudo docker images | grep fetchlinux
- sudo docker run --rm fetchlinux:latest --help
- 克隆代码:
- 说明:若项目提供官方镜像或发布包,优先使用官方制品;否则以源码构建可确保版本可控与可定制。
三 运行与数据持久化
- 基本运行(交互式):
- sudo docker run -it --name fetchlinux-cli fetchlinux:latest
- 持久化数据与配置:
- 将宿主机目录挂载到容器内(示例挂载到 /app):
- sudo docker run -it
-v /opt/fetchlinux-data:/app
–name fetchlinux-cli
fetchlinux:latest
- sudo docker run -it
- 将宿主机目录挂载到容器内(示例挂载到 /app):
- 作为服务运行(后台):
- sudo docker run -d
–name fetchlinux-daemon
-v /opt/fetchlinux-data:/app
fetchlinux:latest your-start-cmd
- sudo docker run -d
- 端口映射(如项目内置服务):
- 示例:-p 8080:80(将容器 80 端口映射到宿主机 8080)
- 提示:镜像的 ENTRYPOINT/CMD 取决于项目实际提供,请以项目文档为准;挂载卷可用于持久化镜像、配置与缓存。
四 常用操作与维护
- 查看日志:
- sudo docker logs -f fetchlinux-daemon
- 进入容器调试:
- sudo docker exec -it fetchlinux-daemon bash
- 更新镜像与重启:
- 拉取/重建镜像后:
- sudo docker stop fetchlinux-daemon
- sudo docker rm fetchlinux-daemon
- 重新运行(保持相同挂载与端口映射)
- 拉取/重建镜像后:
- 清理无用资源:
- sudo docker system prune -f
五 注意事项
- 权限与安全:
- 避免使用 root 运行容器内的下载/写入操作;必要时以非特权用户运行,并通过卷挂载控制宿主机目录权限。
- 资源与性能:
- 大文件下载/校验会占用 I/O 与 网络,在资源受限环境可限制容器资源(–cpus、–memory)。
- 校验与合规:
- 下载发行版镜像后,使用 sha256sum 校验完整性,确保与官方校验值一致;遵守镜像源与许可证条款。
- 网络与代理:
- 如处于受限网络,需在容器内配置 HTTP/HTTPS 代理(Docker run 的 -e 参数或 Dockerfile ENV)。
- 编排扩展:
- 如需在 Kubernetes 中运行,可将镜像推送到私有仓库,编写 Deployment/Job 与 PersistentVolume,并按需设置 initContainers 做预拉取或校验。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS FetchLinux容器化应用
本文地址: https://pptw.com/jishu/761196.html
