返回列表

阿里云账号实名迁移 国际阿里云服务器Docker容器运行

阿里云国际 / 2026-04-25 12:46:03

下载.png

别慌,国际阿里云+Docker真没那么玄乎

你是不是也经历过:刚买完阿里云新加坡/东京/法兰克福节点的轻量应用服务器,SSH一登上去,满屏英文提示,心里直打鼓——这玩意儿跟国内ECS长得好像又不太像?更别说还要跑Docker了。别急,咱今天不讲原理,不甩术语,就当是两个朋友蹲在阳台喝冰啤酒聊正事:怎么让一个Docker容器,在国际版阿里云上稳稳当当地呼吸、吐纳、接请求。

第一步:选对服务器,比装系统还重要

阿里云账号实名迁移 国际站(alibabacloud.com)的轻量应用服务器(Lighthouse)是新手友好型选手。别盯着“2核4G”硬参数看,先盯三点:地域、操作系统、付费周期。建议选新加坡(sg-xxx)或东京(jp-xxx)节点——延迟低、访问稳、备案?不存在的。系统直接选Ubuntu 22.04 LTS(别选Debian,有些Docker CE包依赖会闹脾气;也别图新选24.04,社区适配还没完全跟上)。付费选按月,先试水,别一上来就年付——毕竟谁还没个手抖删错配置的时候呢?

第二步:登上去,先做三件事

拿到IP、用户名(默认root)、密码(或密钥),用Terminal或PuTTY连上。第一件事:改时区。国际服务器默认UTC,你日志全是凌晨三点写的,排查问题能怀疑人生。执行:sudo timedatectl set-timezone Asia/Shanghai。第二件事:升级软件源。Ubuntu国际源慢得像老牛拉车,换清华源:编辑/etc/apt/sources.list,把所有archive.ubuntu.com替换成mirrors.tuna.tsinghua.edu.cn,然后sudo apt update && sudo apt upgrade -y。第三件事:装基础工具sudo apt install -y curl wget vim git gnupg lsb-release——别嫌啰嗦,后面全靠它们撑场子。

第三步:Docker不是一键安装,是四步小仪式

别信网上那些“curl | bash”一行流,太野。我们走官方推荐的稳定路:

  1. sudo apt remove -y docker docker-engine docker.io containerd runc(清旧账)
  2. sudo apt update && sudo apt install -y ca-certificates curl gnupg(装钥匙串)
  3. sudo install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && sudo chmod a+r /etc/apt/keyrings/docker.gpg(导入官方签名)
  4. echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin(正经装)

装完验证:sudo docker run hello-world。如果看到那只鲸鱼喷出“Hello from Docker!”——恭喜,你已通关第一关。顺手加个用户组免sudo:sudo usermod -aG docker $USER,然后退出重登(或newgrp docker),之后docker命令就不用总敲sudo了。

第四步:跑一个真·服务,比如Nginx

来点实在的。我们拉个Nginx镜像,挂个HTML页面,测端口通不通:

  1. sudo docker pull nginx:alpine(轻量首选Alpine版)
  2. 建个目录放网页:mkdir -p ~/my-nginx/html && echo '<h1>我在阿里云新加坡跑着呢!</h1><p>当前时间:<span id="time"></span></p><script>document.getElementById("time").innerText = new Date().toString()</script>' > ~/my-nginx/html/index.html
  3. 启动容器:sudo docker run -d --name my-nginx -p 8080:80 -v ~/my-nginx/html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai nginx:alpine

注意三个关键点:-p 8080:80(把宿主机8080映射到容器80)、-v ...:ro(只读挂载,安全)、-e TZ=...(容器里时间也准)。启动后sudo docker ps看状态,再浏览器打开http://你的IP:8080——如果看到那行字,还带实时时间,你就成功了。

第五步:绕开国际版三大经典坑

坑一:防火墙拦路。国际轻量服务器自带防火墙(控制台里叫“防火墙规则”),默认只开22(SSH)。你开了8080,但控制台没放行?白搭!登录阿里云国际站 → Lighthouse控制台 → 找到实例 → 点“防火墙” → 添加规则:端口范围填8080/8080,协议选TCP,源IP填0.0.0.0/0(测试用,上线记得收紧)。
坑二:UFW偷偷开机。Ubuntu默认不开UFW,但某些镜像或脚本可能激活它。检查:sudo ufw status verbose,若为active,立刻关掉:sudo ufw disable
坑三:Docker桥接网卡被封。极少数情况下,宿主机iptables规则会拦截Docker的docker0网桥通信。临时解法:sudo iptables -P FORWARD ACCEPT(重启失效,够你调试用);长期方案是配置Docker daemon.json加{"iptables": true}并重启Docker服务。

第六步:进阶小贴士(不学也行,学了少踩半年坑)

  • 镜像加速:国际网络好,一般不用加速器。但如果你常拉node:18这种大镜像,可配阿里云镜像加速(国际站也有专属地址,搜“Alibaba Cloud Container Registry Mirror”)。
  • 数据持久化:别把数据库文件挂宿主机根目录!用sudo docker volume create my-db-data建卷,再-v my-db-data:/var/lib/mysql挂载——卷由Docker管理,不随容器删而丢。
  • 日志别刷屏sudo docker logs -f my-nginx看实时日志;想限制大小,启动时加--log-opt max-size=10m --log-opt max-file=3
  • 自动重启:生产环境加--restart unless-stopped,服务器重启后容器自动跟上。

最后说句掏心窝的话

Docker不是魔法盒,它只是把应用打包+隔离+调度的标准化工具;国际阿里云也不是神秘黑箱,它就是一台远在新加坡的Linux电脑,只不过客服邮件回复慢点、控制台按钮位置偏右一点而已。你真正要练的,是读报错、查文档、试命令、记日志这四件套。今天你照着跑通Nginx,明天就能跑Python Flask、Vue前端、PostgreSQL……甚至用Docker Compose编排仨服务一起跳舞。别怕,服务器不会因为你敲错一个空格就爆炸——顶多给你返回一行红色error,而那行字,恰恰是你成长的胎记。

现在,关掉这篇文章,打开终端,输ssh root@你的IP。去吧,你的第一个国际云容器,正在等你docker start

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系