Ubuntu 20.04系统上部署与优化LiuJuan20260223Zimage全记录最近在折腾一个名为LiuJuan20260223Zimage的AI镜像服务整个过程从零开始踩了一些坑也总结了不少经验。如果你手头正好有一台运行Ubuntu 20.04的服务器或开发机也想试试这个服务那这份记录或许能帮你省下不少时间。我会把从系统准备到服务优化每一步都讲清楚确保你跟着做就能跑起来。1. 准备工作与环境检查在开始安装任何服务之前确保你的系统环境是干净且准备就绪的这能避免很多后续的奇怪问题。我们主要关注三件事系统版本、网络连接和存储空间。首先打开终端确认一下你的系统信息。运行下面的命令lsb_release -a你应该能看到类似Ubuntu 20.04.x LTS的输出。如果不是这篇指南可能不完全适用。接着检查一下你的用户权限确保你有sudo权限来执行安装命令。然后看看磁盘空间。这个镜像及其依赖可能会占用几个G的空间建议系统盘至少有20G的可用空间。可以用df -h命令查看。最后检查网络。因为我们需要从互联网下载很多软件包和镜像一个稳定快速的网络连接至关重要。可以试着ping一下外网地址确保连通性没问题。2. 系统更新与基础环境搭建一个最新的系统是稳定运行的基石。这一步我们来做系统更新并安装一些后续步骤必需的软件工具。2.1 更新系统软件包列表首先更新软件包源列表获取最新的软件版本信息sudo apt update这个命令会从配置的软件源同步包列表但不会安装或升级任何软件。2.2 升级已安装的软件包接着将系统中所有已安装的软件包升级到最新版本sudo apt upgrade -y加上-y参数是为了在提示是否继续时自动回答“是”。这个过程可能会花点时间取决于需要升级的包的数量和你的网速。2.3 安装必要的工具有些工具在后续的安装和调试中会非常有用我们先一并装上sudo apt install -y curl wget git vim net-tools htopcurl和wget用于从网络下载文件。git用于克隆代码仓库虽然本次部署不一定需要但它是开发环境的常备工具。vim一个文本编辑器方便你修改配置文件。net-tools包含ifconfig等网络诊断工具。htop一个交互式的进程查看器比系统自带的top更直观。3. 安装与配置Docker环境LiuJuan20260223Zimage服务通常以Docker镜像的形式提供因此我们需要先搭建好Docker环境。Docker能保证服务在任何系统上运行的环境都是一致的避免“在我机器上好好的”这类问题。3.1 卸载旧版本Docker如有如果你的系统上之前安装过老旧的Docker版本建议先清理一下sudo apt remove docker docker-engine docker.io containerd runc3.2 安装Docker官方仓库和依赖Docker官方提供了APT仓库从这里安装能保证获得最新的稳定版本。安装一些让apt可以通过HTTPS使用仓库的包sudo apt install -y apt-transport-https ca-certificates curl software-properties-common添加Docker官方的GPG密钥用于验证软件包的完整性curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -将Docker的APT仓库添加到你的系统源列表中sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable3.3 安装Docker引擎添加仓库后再次更新包列表然后安装Dockersudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io安装完成后Docker服务会自动启动。你可以运行以下命令来验证Docker是否安装成功并查看版本信息sudo docker --version3.4 管理Docker用户组可选但推荐默认情况下运行docker命令需要sudo权限。为了避免每次输入sudo可以将你的用户加入docker用户组sudo usermod -aG docker $USER重要执行此命令后你需要完全退出当前终端会话并重新登录或者重启系统这个更改才会生效。之后你就可以直接使用docker命令了。4. 拉取并运行LiuJuan20260223Zimage镜像Docker环境就绪后部署服务本身反而变得非常简单基本上就是“拉取”和“运行”两个动作。4.1 拉取镜像假设你已经知道了LiuJuan20260223Zimage镜像的确切名称例如registry.example.com/liujuan20260223zimage:latest使用docker pull命令将其下载到本地docker pull registry.example.com/liujuan20260223zimage:latest请将上面的地址替换为你实际要使用的镜像地址。拉取过程的时间取决于镜像大小和你的网速。4.2 运行镜像容器镜像拉取到本地后就可以通过docker run命令来启动一个容器实例。这里是一个典型的启动命令示例docker run -d \ --name liujuan-image-service \ -p 7860:7860 \ -v /path/to/your/data:/app/data \ --restart unless-stopped \ registry.example.com/liujuan20260223zimage:latest我来解释一下这些参数-d让容器在后台运行守护进程模式。--name给容器起一个名字方便后续管理。-p 7860:7860将容器内部的7860端口映射到宿主机的7860端口。这是Web服务常见的端口具体端口号请根据镜像说明调整。-v /path/to/your/data:/app/data将宿主机的一个目录挂载到容器内。这非常重要可以持久化保存你的数据如模型文件、配置文件、生成的结果避免容器删除后数据丢失。请将/path/to/your/data替换为你本地真实的目录路径。--restart unless-stopped设置容器自动重启策略。除非你手动停止它否则如果容器意外退出Docker会尝试重新启动它。最后一行就是你要运行的镜像名。4.3 验证服务运行容器启动后你可以通过几个命令来检查它是否正常运行查看容器状态docker ps你应该能看到名为liujuan-image-service的容器状态是Up。查看容器日志了解启动过程有无报错docker logs liujuan-image-service如果服务提供了Web界面比如映射了7860端口你可以在浏览器中访问http://你的服务器IP:7860看看是否能打开界面。5. 性能调优与安全加固服务跑起来只是第一步要让它在生产环境或长期使用中稳定、高效、安全还需要做一些优化工作。5.1 Docker容器资源限制默认情况下容器可以使用宿主机的所有资源。为了避免某个容器耗尽资源影响其他服务可以对其使用的CPU和内存进行限制。例如在docker run命令中增加以下参数--cpus 2 \ --memory 4g \ --memory-swap 4g \这会将容器限制为最多使用2个CPU核心、4GB物理内存并且不使用交换分区。你可以根据你的硬件配置和容器需求调整这些值。5.2 使用Docker Compose管理服务如果你需要管理多个容器或者启动参数很复杂使用docker-compose.yml文件来定义和运行服务会更方便。创建一个docker-compose.yml文件version: 3.8 services: liujuan-image: image: registry.example.com/liujuan20260223zimage:latest container_name: liujuan-image-service restart: unless-stopped ports: - 7860:7860 volumes: - ./app_data:/app/data environment: - TZAsia/Shanghai deploy: resources: limits: cpus: 2 memory: 4G reservations: cpus: 1 memory: 2G然后在文件所在目录运行docker-compose up -d即可启动所有定义的服务。使用docker-compose down来停止。5.3 系统层面优化交换空间Swap如果物理内存不足确保系统有足够的交换空间。可以使用swapon和free -h命令检查和管理。文件系统挂载参数对于数据卷挂载的目录如果是在机械硬盘上可以考虑在/etc/fstab中添加noatime挂载选项来减少磁盘写入提升性能。防火墙配置使用ufwUncomplicated Firewall来管理端口访问。例如只开放必要的端口如SSH的22和服务的7860sudo ufw allow 22/tcp sudo ufw allow 7860/tcp sudo ufw enable5.4 安全建议不要使用默认密码如果服务有管理界面务必修改默认的账号密码。定期更新定期运行sudo apt update sudo apt upgrade以及docker pull来更新系统和镜像修复安全漏洞。限制网络访问如果服务只在内部使用可以通过防火墙或Docker网络设置限制其只能从特定IP地址访问。备份数据卷定期备份你通过-v参数挂载到宿主机上的数据目录。6. 总结整个部署过程走下来感觉在Ubuntu上借助Docker部署这类服务已经形成了一套比较标准的流程。核心就是系统准备、Docker安装、镜像运行这三部曲。最大的体会是一定要把数据持久化-v挂载做好这样以后升级镜像或者迁移服务器都会非常方便。性能调优和安全加固部分刚开始可以只做基础的资源限制和端口管理等服务稳定运行、访问量上来后再根据实际情况深入优化。比如发现内存经常用满就调整--memory参数发现CPU成为瓶颈就看看是不是需要分配更多核心或者优化代码逻辑。遇到问题别慌多看看docker logs输出的信息大部分错误都有明确的提示。希望这份从零开始的记录能帮你顺利搭起自己的服务。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
Ubuntu 20.04系统上部署与优化LiuJuan20260223Zimage全记录
发布时间:2026/6/24 14:48:03
Ubuntu 20.04系统上部署与优化LiuJuan20260223Zimage全记录最近在折腾一个名为LiuJuan20260223Zimage的AI镜像服务整个过程从零开始踩了一些坑也总结了不少经验。如果你手头正好有一台运行Ubuntu 20.04的服务器或开发机也想试试这个服务那这份记录或许能帮你省下不少时间。我会把从系统准备到服务优化每一步都讲清楚确保你跟着做就能跑起来。1. 准备工作与环境检查在开始安装任何服务之前确保你的系统环境是干净且准备就绪的这能避免很多后续的奇怪问题。我们主要关注三件事系统版本、网络连接和存储空间。首先打开终端确认一下你的系统信息。运行下面的命令lsb_release -a你应该能看到类似Ubuntu 20.04.x LTS的输出。如果不是这篇指南可能不完全适用。接着检查一下你的用户权限确保你有sudo权限来执行安装命令。然后看看磁盘空间。这个镜像及其依赖可能会占用几个G的空间建议系统盘至少有20G的可用空间。可以用df -h命令查看。最后检查网络。因为我们需要从互联网下载很多软件包和镜像一个稳定快速的网络连接至关重要。可以试着ping一下外网地址确保连通性没问题。2. 系统更新与基础环境搭建一个最新的系统是稳定运行的基石。这一步我们来做系统更新并安装一些后续步骤必需的软件工具。2.1 更新系统软件包列表首先更新软件包源列表获取最新的软件版本信息sudo apt update这个命令会从配置的软件源同步包列表但不会安装或升级任何软件。2.2 升级已安装的软件包接着将系统中所有已安装的软件包升级到最新版本sudo apt upgrade -y加上-y参数是为了在提示是否继续时自动回答“是”。这个过程可能会花点时间取决于需要升级的包的数量和你的网速。2.3 安装必要的工具有些工具在后续的安装和调试中会非常有用我们先一并装上sudo apt install -y curl wget git vim net-tools htopcurl和wget用于从网络下载文件。git用于克隆代码仓库虽然本次部署不一定需要但它是开发环境的常备工具。vim一个文本编辑器方便你修改配置文件。net-tools包含ifconfig等网络诊断工具。htop一个交互式的进程查看器比系统自带的top更直观。3. 安装与配置Docker环境LiuJuan20260223Zimage服务通常以Docker镜像的形式提供因此我们需要先搭建好Docker环境。Docker能保证服务在任何系统上运行的环境都是一致的避免“在我机器上好好的”这类问题。3.1 卸载旧版本Docker如有如果你的系统上之前安装过老旧的Docker版本建议先清理一下sudo apt remove docker docker-engine docker.io containerd runc3.2 安装Docker官方仓库和依赖Docker官方提供了APT仓库从这里安装能保证获得最新的稳定版本。安装一些让apt可以通过HTTPS使用仓库的包sudo apt install -y apt-transport-https ca-certificates curl software-properties-common添加Docker官方的GPG密钥用于验证软件包的完整性curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -将Docker的APT仓库添加到你的系统源列表中sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable3.3 安装Docker引擎添加仓库后再次更新包列表然后安装Dockersudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io安装完成后Docker服务会自动启动。你可以运行以下命令来验证Docker是否安装成功并查看版本信息sudo docker --version3.4 管理Docker用户组可选但推荐默认情况下运行docker命令需要sudo权限。为了避免每次输入sudo可以将你的用户加入docker用户组sudo usermod -aG docker $USER重要执行此命令后你需要完全退出当前终端会话并重新登录或者重启系统这个更改才会生效。之后你就可以直接使用docker命令了。4. 拉取并运行LiuJuan20260223Zimage镜像Docker环境就绪后部署服务本身反而变得非常简单基本上就是“拉取”和“运行”两个动作。4.1 拉取镜像假设你已经知道了LiuJuan20260223Zimage镜像的确切名称例如registry.example.com/liujuan20260223zimage:latest使用docker pull命令将其下载到本地docker pull registry.example.com/liujuan20260223zimage:latest请将上面的地址替换为你实际要使用的镜像地址。拉取过程的时间取决于镜像大小和你的网速。4.2 运行镜像容器镜像拉取到本地后就可以通过docker run命令来启动一个容器实例。这里是一个典型的启动命令示例docker run -d \ --name liujuan-image-service \ -p 7860:7860 \ -v /path/to/your/data:/app/data \ --restart unless-stopped \ registry.example.com/liujuan20260223zimage:latest我来解释一下这些参数-d让容器在后台运行守护进程模式。--name给容器起一个名字方便后续管理。-p 7860:7860将容器内部的7860端口映射到宿主机的7860端口。这是Web服务常见的端口具体端口号请根据镜像说明调整。-v /path/to/your/data:/app/data将宿主机的一个目录挂载到容器内。这非常重要可以持久化保存你的数据如模型文件、配置文件、生成的结果避免容器删除后数据丢失。请将/path/to/your/data替换为你本地真实的目录路径。--restart unless-stopped设置容器自动重启策略。除非你手动停止它否则如果容器意外退出Docker会尝试重新启动它。最后一行就是你要运行的镜像名。4.3 验证服务运行容器启动后你可以通过几个命令来检查它是否正常运行查看容器状态docker ps你应该能看到名为liujuan-image-service的容器状态是Up。查看容器日志了解启动过程有无报错docker logs liujuan-image-service如果服务提供了Web界面比如映射了7860端口你可以在浏览器中访问http://你的服务器IP:7860看看是否能打开界面。5. 性能调优与安全加固服务跑起来只是第一步要让它在生产环境或长期使用中稳定、高效、安全还需要做一些优化工作。5.1 Docker容器资源限制默认情况下容器可以使用宿主机的所有资源。为了避免某个容器耗尽资源影响其他服务可以对其使用的CPU和内存进行限制。例如在docker run命令中增加以下参数--cpus 2 \ --memory 4g \ --memory-swap 4g \这会将容器限制为最多使用2个CPU核心、4GB物理内存并且不使用交换分区。你可以根据你的硬件配置和容器需求调整这些值。5.2 使用Docker Compose管理服务如果你需要管理多个容器或者启动参数很复杂使用docker-compose.yml文件来定义和运行服务会更方便。创建一个docker-compose.yml文件version: 3.8 services: liujuan-image: image: registry.example.com/liujuan20260223zimage:latest container_name: liujuan-image-service restart: unless-stopped ports: - 7860:7860 volumes: - ./app_data:/app/data environment: - TZAsia/Shanghai deploy: resources: limits: cpus: 2 memory: 4G reservations: cpus: 1 memory: 2G然后在文件所在目录运行docker-compose up -d即可启动所有定义的服务。使用docker-compose down来停止。5.3 系统层面优化交换空间Swap如果物理内存不足确保系统有足够的交换空间。可以使用swapon和free -h命令检查和管理。文件系统挂载参数对于数据卷挂载的目录如果是在机械硬盘上可以考虑在/etc/fstab中添加noatime挂载选项来减少磁盘写入提升性能。防火墙配置使用ufwUncomplicated Firewall来管理端口访问。例如只开放必要的端口如SSH的22和服务的7860sudo ufw allow 22/tcp sudo ufw allow 7860/tcp sudo ufw enable5.4 安全建议不要使用默认密码如果服务有管理界面务必修改默认的账号密码。定期更新定期运行sudo apt update sudo apt upgrade以及docker pull来更新系统和镜像修复安全漏洞。限制网络访问如果服务只在内部使用可以通过防火墙或Docker网络设置限制其只能从特定IP地址访问。备份数据卷定期备份你通过-v参数挂载到宿主机上的数据目录。6. 总结整个部署过程走下来感觉在Ubuntu上借助Docker部署这类服务已经形成了一套比较标准的流程。核心就是系统准备、Docker安装、镜像运行这三部曲。最大的体会是一定要把数据持久化-v挂载做好这样以后升级镜像或者迁移服务器都会非常方便。性能调优和安全加固部分刚开始可以只做基础的资源限制和端口管理等服务稳定运行、访问量上来后再根据实际情况深入优化。比如发现内存经常用满就调整--memory参数发现CPU成为瓶颈就看看是不是需要分配更多核心或者优化代码逻辑。遇到问题别慌多看看docker logs输出的信息大部分错误都有明确的提示。希望这份从零开始的记录能帮你顺利搭起自己的服务。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。