在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