linux容器部署核心三步:装运行时(docker或 containerd)、拉取运行镜像、配置网络存储;需注意权限、镜像加速、端口 冲突、数据持久化、日志与重启策略等关键细节。

Linux 容器环境部署核心就三步:装好容器运行时(比如 Docker 或 containerd)、拉取并运行镜像、按需配置网络与存储。不依赖 虚拟机,轻量又快,但每步都有关键细节容易踩坑。
装运行时:选 Docker 还是 containerd?
Docker 适合新手,命令直观,生态成熟;containerd 更轻量,适合 kubernetes 生产环境。大多数场景从 Docker 起步更稳妥。
- ubuntu/debian:用apt install docker.io,别直接用官方脚本(权限风险高)
- centos/RHEL:先 dnf install dnf-plugins-core,再启用docker-ce.repo 源,避免用过时的 docker 包
- 装完立刻执行sudo usermod -aG docker $USER,登出重进才能免 sudo 跑容器
拉镜像 & 跑起来:别卡在“connection refused”
默认 docker pull 走 Docker Hub,国内用户常因网络问题失败。解决方法 不是换源就是跳过验证。
- 配置镜像加速器:编辑/etc/docker/daemon.json,加{“registry-mirrors”: [“https://xxx.mirror.aliyuncs.com”]},然后sudo systemctl restart docker
- 测试是否正常:docker run –rm hello-world,看到欢迎信息才算通路
- 启动带 端口 的服务(如nginx):docker run -d -p 8080:80 –name web nginx,注意宿主机端口别被占用
让容器真正可用:网络、卷、环境变量 怎么配
裸跑容器只是演示,实际要用就得连业务、存数据、读配置。
- 自定义网络隔离:用 docker network create mynet 建桥接网络,多个容器加入同一网络就能用容器名互通
- 持久化数据:别把 数据库 文件放容器里!用 -v /host/path:/container/path 挂载宿主机目录,或用 docker volume create 管理
- 传配置和密钥:用 -e KEY=VALUE 设环境变量 ,敏感信息优先用–secret(Docker Swarm)或docker-compose.yml 里的 env_file
日常维护:别等容器崩了才想起日志和重启策略
容器退出后默认不保留状态,得靠策略让它稳住、可查、能恢复。
- 看日志:docker logs -f –tail 100 web,加 -f 实时跟踪,–tail限制输出行数防卡死
- 自动重启:–restart unless-stopped最常用,容器异常退出就拉起,但手动 stop 后不会自启
- 资源限制防炸锅:–memory 512m –cpus 1.5,避免单个容器吃光整台机器内存
基本上就这些。不复杂但容易忽略——比如没加 docker 组导致权限报错,或者挂载路径写反导致数据消失。动手前多看一眼 docker info 和docker version,心里就有底了。