努力
奋斗

阿里云服务器ECS实例能安装docker吗?

服务器价格表

能装,而且这是阿里云 ECS 最基础、最常用的玩法之一。

别被那些复杂的概念吓到,Docker 就是个容器引擎,跟你的操作系统是平行的关系。只要你的 ECS 实例满足几个硬性条件,直接装就行。

1. 先确认环境(避坑指南)

  • 操作系统:主流 Linux 发行版都支持,比如 CentOS 7/8, Ubuntu 18.04/20.04/22.04, Debian 9+。Windows Server 也可以,但国内用户用 Windows 跑 Docker 的极少,除非你有特殊需求,否则建议直接用 Linux。
  • 内核版本:Linux 内核最好 3.10 以上(现在的新系统基本都是 4.x 或 5.x,没问题)。
  • 内存:虽然 Docker 本身不占多少内存,但你跑的镜像(比如 MySQL、Redis、Java 应用)很吃内存。如果只有 1G 内存,跑个简单的 Nginx 还行,跑重服务会 OOM(内存溢出)。建议至少 2G 起步,推荐 4G+。

2. 怎么装?(两条路)

路径 A:官方脚本一键安装(最快,适合新手)

如果你不想记命令,想“无脑”装,用这个:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • --mirror Aliyun:指定使用阿里云镜像源,下载速度快,避免超时。
  • 装完后,启动并设置开机自启:
    systemctl start docker
    systemctl enable docker

路径 B:手动安装(更稳妥,适合老手)

如果你担心脚本自动改配置有隐患,或者公司安全规范要求严格,就手动来:

  1. 卸载旧版本(如果有):

    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
  2. 安装依赖和仓库:

    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 安装 Docker CE:

    sudo yum install -y docker-ce docker-ce-cli containerd.io
  4. 启动并验证:

    sudo systemctl start docker
    sudo docker version  # 看客户端和服务端是否都有版本号输出
    sudo docker run hello-world  # 测试运行,成功会打印 Hello from Docker!

3. 阿里云 ECS 特有的注意事项(关键!)

很多人装了 Docker 发现网络访问不了服务,或者速度慢,通常是以下原因:

  • 安全组没开端口:
    Docker 默认绑定在 0.0.0.0,也就是说所有网卡都能访问。如果你在容器里跑了个 8080 端口,你必须在阿里云控制台的 ECS -> 安全组 -> 入方向 添加规则,放行 TCP 8080 端口。不开安全组,外面根本连不上。

  • 防火墙冲突:
    阿里云 ECS 默认可能开启了 firewalld 或 iptables。虽然 Docker 会自动管理 iptables 规则,但有时会有冲突。如果遇到问题,可以尝试暂时关闭 firewalld 测试:

    systemctl stop firewalld
    systemctl disable firewalld

    注意:生产环境不建议直接关防火墙,而是通过 firewall-cmd 开放对应端口。

  • Swap 分区问题:
    某些版本的 Docker 对 Swap 敏感。如果服务器没有 Swap 或者 Swap 太小,Docker 启动可能会报错。建议在 /etc/sysctl.conf 中添加:

    vm.swappiness=0

    然后执行 sysctl -p 生效。

  • 提速器配置:
    拉取镜像慢?去阿里云控制台搜索“容器镜像服务”,里面有个“镜像提速器”地址。把它配置到 Docker 的 daemon.json 里,速度提升明显。

4. 常见误区澄清

  • “我买了轻量应用服务器能不能装?”
    能。轻量应用服务器底层就是 ECS,只是管理界面不同。SSH 进去后操作完全一样。
  • “Docker 会占用大量 CPU 吗?”
    不会。Docker 本身是个进程管理器,开销极小。你感觉卡,是因为你跑的 Java 应用或数据库太耗资源,不是 Docker 的问题。
  • “需要买云盘吗?”
    数据持久化很重要。Docker 容器重启后数据会丢。务必使用 -v 挂载宿主机目录,或者使用 Docker Volume。不要把所有数据都存在容器内部。

总结

  1. 能装,Linux 系统首选。
  2. 一键脚本最快,手动安装最稳。
  3. 安全组必须配好端口,否则白搭。
  4. 数据要挂载,别指望容器自带持久化。

装完跑个 docker ps,看到状态是 Up,就说明搞定了。接下来就是拉镜像、跑业务的事。