文章详情

腾讯云自动发货账号 腾讯云部署Docker容器

腾讯云国际2026-04-17 14:27:36AWS免实名账号出售

你是不是也经历过——

在公司群里看到同事发截图:「Docker已上线,服务稳定」;
而你默默打开终端,输入 docker --version,回车后只飘出一行冰冷的 bash: docker: command not found……
那一刻,不是没装Docker,是根本没摸清从哪开始装。

别慌。今天这篇,不讲「容器是什么」「C/S架构图」,也不甩你一串官网文档链接让你自己啃。我们就干一件事:用腾讯云最便宜的轻量应用服务器(2核2G,月付30块那种),15分钟内把一个带网页的Docker容器跑起来,还能通过域名访问。中间踩过的坑、报过的错、改过的权限、重启过的服务,全给你记下来,连 sudo: command not found 这种离谱问题都帮你预判好了。

第一步:选对机器,别被CVM劝退

腾讯云控制台首页,别一头扎进「云服务器CVM」——那玩意儿要配安全组、VPC、密钥对、弹性公网IP……新手三小时可能还在配子网路由表。

直接搜「轻量应用服务器」,选「按量付费」或「包年包月」,配置选「2核2G」起步(跑个Nginx+Python Flask够用)。镜像选「Ubuntu 22.04 LTS」(比CentOS省心,apt比yum顺手,社区支持更活)。

划重点:创建时勾选「分配公网IP」+「开放全部端口」(测试阶段先放行,后面再收敛)。别信什么「最小权限原则」——你连 dockerd 都还没跑起来呢,先让世界看见你。

第二步:连上去,别输错root密码

拿到IP和密码后,Mac/Linux用户终端敲:
ssh root@你的IP地址
Windows用户请用Termius或FinalShell(别用自带CMD!中文乱码+粘贴失效能气哭你)。

首次登录会提示「The authenticity of host … can't be established」,敲 yes 回车就行。如果卡在密码输入后没反应?检查是否开了「键盘输入法」——中文输入法下输的其实是乱码密码,切到英文再试。

第三步:装Docker——但先解决sudo不存在这个玄学bug

Ubuntu默认不带 sudo 命令?真有!尤其轻量服务器某些精简镜像。输 sudo apt update 报错「sudo: command not found」?别删重装,执行这三行:

apt update && apt install -y sudo
echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
export PATH="/usr/bin:$PATH"

第一行装sudo,第二行给root免密提权(开发机无所谓),第三行补PATH——不然有些命令找不到。

接着才是正经装Docker:

curl -fsSL https://get.docker.com | bash
sudo systemctl enable docker
sudo systemctl start docker

验证:sudo docker run hello-world。如果看到「Hello from Docker!」,恭喜,你已越过第一道生死线。

第四步:跑一个真·能访问的服务

光跑hello-world没用。我们来个带网页的——用官方Nginx镜像,3秒上线:

sudo docker run -d \
  --name my-nginx \
  -p 8080:80 \
  -v $(pwd)/html:/usr/share/nginx/html:ro \
  -d nginx:alpine

拆解一下:
• -d 后台运行
• --name 起个好记的名字
• -p 8080:80 把宿主机8080端口映射到容器80口(别直接占80!轻量服务器上腾讯云默认80被占用,先用8080避让)
• -v 挂载本地html文件夹,方便你改网页不用重打镜像

现在建个欢迎页:
mkdir html && echo '<h1>我在腾讯云Docker里!</h1><p>时间:$(date)</p>' > html/index.html

浏览器打开 http://你的IP:8080——如果页面出来了,你已经成功90%。

第五步:从8080升级到80,再加个域名(可选但推荐)

想用 http://你的IP 直接访问?得把容器端口换成80,但先确认宿主机80没被占:

sudo lsof -i :80

如果返回空,说明没人抢。停掉刚才的容器:sudo docker stop my-nginx,再重跑:

sudo docker run -d --name my-nginx -p 80:80 -v $(pwd)/html:/usr/share/nginx/html:ro nginx:alpine

此时 http://你的IP 就能直连了。

想绑域名?去腾讯云「DNS解析」控制台,添加A记录指向你的IP。然后在Nginx里配个server块(挂载进容器的html同级新建 conf.d/default.conf):

server {
    listen 80;
    server_name your-domain.com;
    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}

腾讯云自动发货账号 重启容器:sudo docker restart my-nginx,等DNS生效(通常5分钟内),your-domain.com 就能访问了。

第六步:几个保命小技巧

  • 容器挂了怎么办? sudo docker ps -a 看状态,sudo docker logs my-nginx 查错误日志(比如端口冲突、权限不足)
  • 磁盘爆了? sudo docker system prune -a 清理所有未用镜像+容器+缓存(慎用,确认没重要数据)
  • 想开机自启? 已在第三步设了 systemctl enable docker,但容器本身要加 --restart=always 参数重跑
  • HTTPS呢? 先用Nginx反向代理+Let's Encrypt(acme.sh脚本一键搞定),那是下篇文章的事了——毕竟你刚学会走路,别急着跑马拉松。

最后说句实在话

Docker不是银弹,也不是魔法。它只是把「我本地能跑」变成「换台机器照样能跑」的搬运工。而腾讯云轻量服务器,就是那个不收你押金、不逼你画架构图、允许你犯错重来的沙盒。

所以,别纠结「K8s要不要学」「Service Mesh咋回事」。先把 docker run 敲顺,把网页挂上去,截图发到朋友圈——配文:「我的第一个云原生服务,IP在评论区」。

世界不会因为你会了Docker而改变,但你会因为Docker,少熬三次夜、少背一次锅、多一次跟老板谈需求时说「这个功能,我明天就能给你Demo」的底气。

——现在,关掉这篇文章,打开终端,输 ssh root@ 吧。别怕报错,每个红色字体,都是你亲手点亮的路标。

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