如何在Linux上部署容器化应用

来源:AI大模型作者:关中王头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何在Linux上部署容器化应用》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上部署容器化应用》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统上部署容器化应用,核心是通过容器运行时工具将打包好的应用镜像运行起来,实现应用与宿主环境的隔离,同时保证应用在不同环境下的一致性表现。整个过程需要完成环境准备、容器运行时安装、镜像管理、容器启动配置等多个环节,下面逐步展开说明。

如何在Linux上部署容器化应用

一、环境准备与容器运行时安装

首先确保Linux系统内核版本符合要求,Docker要求内核版本不低于3.10,containerd要求内核版本不低于4.14。这里以Ubuntu 22.04系统为例,演示两种常用容器运行时的安装方式。

1. 安装Docker

Docker是目前使用最广泛的容器运行时,安装步骤如下:

# 卸载旧版本Docker
sudo apt-get remove docker docker-engine docker.io containerd runc

# 安装依赖工具
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置Docker软件源
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 验证Docker安装成功
sudo docker run hello-world

2. 安装containerd

containerd是更轻量的容器运行时,适合对资源占用要求较高的场景:

# 安装containerd
sudo apt-get update
sudo apt-get install -y containerd

# 生成默认配置文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

# 启动并设置开机自启
sudo systemctl restart containerd
sudo systemctl enable containerd

# 验证运行状态
sudo systemctl status containerd

二、容器镜像管理

容器镜像是容器运行的基础,部署应用前需要先获取对应的镜像,镜像可以从公共仓库拉取,也可以自己构建后推送到私有仓库。

1. 拉取公共镜像

以拉取Nginx镜像为例,使用Docker和containerd的命令分别如下:

# Docker拉取Nginx镜像
sudo docker pull nginx:latest

# containerd拉取Nginx镜像
sudo ctr images pull docker.io/library/nginx:latest

2. 查看本地镜像

拉取完成后可以查看本地已有的镜像列表:

# Docker查看镜像
sudo docker images

# containerd查看镜像
sudo ctr images list

三、启动并配置容器化应用

获取到镜像后就可以启动容器,启动时需要配置端口映射、数据挂载、环境变量等参数,满足应用的实际运行需求。

1. 使用Docker启动容器

以下示例启动一个Nginx容器,将宿主机的8080端口映射到容器的80端口,同时挂载本地目录到容器的静态资源目录:

# 创建本地挂载目录
mkdir -p ~/nginx_html

# 启动Nginx容器
sudo docker run -d 
  --name my_nginx 
  -p 8080:80 
  -v ~/nginx_html:/usr/share/nginx/html 
  -e TZ=Asia/Shanghai 
  nginx:latest

# 查看运行中的容器
sudo docker ps

参数说明:

  • -d:后台运行容器
  • --name:指定容器名称
  • -p:端口映射,格式为宿主机端口:容器端口
  • -v:目录挂载,格式为宿主机目录:容器目录
  • -e:设置环境变量

2. 使用containerd启动容器

containerd启动容器的命令如下:

# 创建容器
sudo ctr run -d 
  --name my_nginx 
  docker.io/library/nginx:latest

# 查看运行中的容器
sudo ctr containers list

注意containerd默认没有端口映射和目录挂载的便捷参数,需要手动配置网络命名空间和数据卷,生产环境一般搭配Kubernetes等编排工具使用。

四、容器运维与常见问题处理

1. 查看容器日志

当应用运行出现异常时,可以通过日志排查问题:

# Docker查看容器日志
sudo docker logs my_nginx

# 实时查看日志
sudo docker logs -f my_nginx

2. 进入容器内部

需要调试容器内部环境时,可以进入容器终端:

# Docker进入容器
sudo docker exec -it my_nginx /bin/bash

# containerd进入容器
sudo ctr tasks exec -t --exec-id test my_nginx /bin/bash

3. 停止与删除容器

# Docker停止容器
sudo docker stop my_nginx

# Docker删除容器
sudo docker rm my_nginx

# containerd停止容器
sudo ctr tasks kill my_nginx

# containerd删除容器
sudo ctr containers remove my_nginx

五、部署注意事项

  • 生产环境不要直接使用latest标签的镜像,避免因镜像版本更新导致应用异常,建议指定明确的镜像版本号
  • 需要持久化存储的数据一定要挂载到宿主机目录,避免容器删除后数据丢失
  • 不要将敏感信息(如数据库密码)直接写在启动命令中,建议使用环境变量文件或者密钥管理工具
  • 定期清理无用的镜像和停止的容器,避免占用过多磁盘空间
容器化部署只是第一步,当应用规模扩大后,建议搭配Kubernetes等容器编排工具,实现容器的自动调度、扩缩容和故障自愈,进一步提升应用的稳定性和运维效率。

DockerLinux容器化部署containerd修改时间:2026-07-18 08:36:31

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。