Linux容器Docker环境搭建
Linux服务器Docker环境搭建图文教程:从安装到跑第一个容器
Docker 是一种轻量级的 Linux 容器工具,能让你把应用和依赖打包在一个隔离环境中运行。
对于零基础站长或运维来说,学会搭建 Docker 环境是后续管理服务、部署项目的关键一步。
本文将以 CentOS 7 为例(Ubuntu 也适用),手把手带你完成安装、配置和验证。
一、你需要准备什么
动手之前,确认你的服务器满足以下条件:
- 系统版本:CentOS 7 及以上,或 Ubuntu 18.04 / 20.04 / 22.04。
- 权限:拥有 sudo 权限的普通用户(建议不用 root 直接操作)。
- 网络:服务器能正常访问外网,尤其是
download.docker.com。 - 内核:Docker 依赖 Linux 内核特性,建议内核版本 3.10 以上(CentOS 7 默认已满足)。
检查内核版本命令:uname -r,如果低于 3.10 请先升级系统。
二、卸掉旧版并添加官方仓库
如果之前装过旧版 Docker(如 docker.io 或 docker-engine),先卸载干净,避免冲突。
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
如果是 Ubuntu,把yum换成apt,包名类似。
下一步安装 yum-utils 工具并添加 Docker 官方仓库:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加完成后,建议先更新缓存:sudo yum makecache fast。
三、安装 Docker Engine 并启动
执行一条命令安装最新稳定的 Docker Engine、containerd 和 Docker Compose:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装完成后,启动 Docker 服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
检查 Docker 是否成功启动:sudo systemctl status docker,看到 active (running) 说明正常。
四、避坑指南:权限、镜像源、防火墙
初次接触 Docker 的常踩几个坑,这里提前避开:
- 普通用户免 sudo 执行 docker 命令:默认只有 root 或有 sudo 权限的用户才能执行 docker。把你自己的用户加入 docker 组:
sudo usermod -aG docker $USER
然后退出并重新登录(或执行 newgrp docker),下次运行 docker 命令就不需要加 sudo 了。
- 国内镜像加速:如果拉镜像很慢,编辑
/etc/docker/daemon.json(没有则新建),写入:
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
重启 Docker:sudo systemctl restart docker。
其他可用镜像源包括阿里云、网易等。
- 防火墙放开端口:后期跑容器需要映射端口时,记得在服务器安全组和系统防火墙(firewalld 或 iptables)中放行对应端口。例如放行 8080:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
五、运行第一个容器并验证环境
现在跑一个最简单的 hello-world 容器,确认安装工作正常:
docker run hello-world
如果输出类似 "Hello from Docker!
" 的信息,说明 Docker 已经正确安装并能正常拉取和运行镜像。
你也可以用 docker version 查看客户端和服务端版本,用 docker info 查看更详细的环境信息。
扩展一步:跑一个 Nginx 容器来验证端口映射:
docker run -d -p 8080:80 --name test-nginx nginx
然后在浏览器访问 http://你的服务器IP:8080,如果看到 Nginx 欢迎页,说明 Docker 网络和端口映射也正常工作。
六、常见问题(Q&A)
- Q:执行 docker 命令提示 "Cannot connect to the Docker daemon"
A:检查 Docker 是否已启动:sudo systemctl status docker,没有则先启动。
如果已启动,可能是用户不在 docker 组,用 sudo 执行或重新登录。
- Q:添加镜像源后拉镜像还是很慢?
A:确认配置文件路径正确,并且重启了 Docker。
也可以用 docker info | grep Mirrors 检查当前镜像源是否生效。
- Q:卸载后重装,yum 报依赖冲突?
A:
试试 sudo yum remove docker-ce docker-ce-cli 彻底清除,
然后删除 /var/lib/docker 目录(会删除所有镜像容器,
请确认无重要数据)。
总结
通过以上步骤,你已经在 Linux 服务器上成功搭建了 Docker 环境,并验证了容器的基本运行。
日常维护建议定期使用 docker system prune 清理无用的镜像和容器数据。
如果你想深入学习,可以继续了解 Docker Compose 编排和 Dockerfile 定制镜像。
如果你在搭建过程中遇到任何报错,欢迎留言交流。