云服务器 Docker 完整安装 + 容器快速部署教程

云服务器 Docker 完整安装 + 容器快速部署教程

适配:阿里云/腾讯云/华为云,系统 CentOS7/8/9、Ubuntu20.04~24.04,一键脚本+国内镜像加速 + Compose多服务部署,生产可用

前置准备

  1. 拿到云服务器公网IP、SSH账号密码(root或带sudo权限用户)云服务器选择入口:https://act.tag.org.cn
  2. 云服务器安全组放行端口:比如80、443、3306等,不然外部访问不了容器
  3. 远程工具:Xshell、FinalShell、Termius 或者网页控制台

QQ20261022-023414

一、一键安装Docker(推荐,自动识别系统,自带Compose插件)

 国内加速版安装脚本
curl -fsSL [https://get.docker.com](https://get.docker.com) -o get-docker.sh
sudo sh get-docker.sh

安装完成后,启动并设置开机自启

 启动docker
systemctl start docker
 开机自启
systemctl enable docker
 验证版本
docker --version
docker compose version

✅ 出现版本号即安装成功(新版docker内置docker compose,不再单独装docker-compose)

可选:把当前用户加入docker组,以后不用每次敲sudo

sudo usermod -aG docker $USER
 退出ssh重连生效

二、配置国内镜像加速(必做,解决pull镜像慢、超时)
编辑daemon配置

vim /etc/docker/daemon.json

直接粘贴下面内容(阿里云/清华镜像源)

{
  "registry-mirrors": [
    "[https://docker.mirrors.ustc.edu.cn](https://docker.mirrors.ustc.edu.cn)",
    "[https://hub-mirror.c.163.com](https://hub-mirror.c.163.com)",
    "[https://mirror.baidubce.com](https://mirror.baidubce.com)"
  ],
  "log-driver":"json-file",
  "log-opts":{"max-size":"10m"}
}

保存退出,重载配置并重启docker

systemctl daemon-reload
systemctl restart docker
 查看配置是否生效
docker info

三、基础docker run单容器部署(快速跑服务)
语法:docker run [参数] 镜像名
常用参数:

  • -d 后台运行(守护)
  • -p 宿主机端口:容器端口 端口映射(宿主机端口=对外访问端口)
  • --name 给容器起名
  • -v 宿主机目录:容器内目录 数据持久化挂载(重要!删除容器数据不丢)
  • -e KEY=VALUE 环境变量
  • --restart=always 容器随docker开机自动启动

示例1:部署 Nginx(网页服务)

 拉取镜像并启动
docker run -d \
--name nginx \
-p 80:80 \
--restart=always \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/conf:/etc/nginx/conf.d \
nginx:alpine

访问:http://你的公网IP

示例2:部署 MySQL8.0

docker run -d \
--name mysql8 \
-p 3306:3306 \
--restart=always \
-e MYSQL_ROOT_PASSWORD="Root@123456" \
-v /data/mysql:/var/lib/mysql \
mysql:8.0

常用基础命令

docker ps                     查看正在运行容器
docker ps -a                  查看所有(含停止)
docker logs 容器名/ID          查看日志,加-f实时跟踪
docker exec -it 容器名 bash    进入容器内部
docker stop 容器名             停止
docker rm 容器名               删除容器
docker pull 镜像名:tag         拉镜像
docker images                 本地镜像列表
docker rmi 镜像ID              删除镜像

四、Docker Compose 多服务编排(生产首选,一键启停整套服务)
适合同时部署 Nginx + MySQL + Redis + 后端项目,只需要一个yml文件管理

  1. 新建项目目录,编写 docker-compose.yml
mkdir /data/demo && cd /data/demo
vim docker-compose.yml

示例(Nginx+MySQL+Redis),直接复制修改密码即可:

version: '3.8'
services:
  nginx:
    image: nginx:alpine
    container_name: nginx
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
      - ./conf:/etc/nginx/conf.d
    depends_on:
      - mysql
      - redis

  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "Root@123456"
    volumes:
      - ./mysql-data:/var/lib/mysql

  redis:
    image: redis:alpine
    container_name: redis
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - ./redis-data:/data
  1. Compose启停命令(在yml所在目录执行)
 后台启动整套服务
docker compose up -d
 查看状态
docker compose ps
 查看日志
docker compose logs -f
 停止(保留容器数据)
docker compose stop
 停止并删除容器(卷数据默认保留,加 -v 删除数据卷)
docker compose down
 修改yml后重新加载
docker compose up -d

Compose内部服务可以直接用服务名互相访问,比如程序连接mysql,host填 mysql,不需要填服务器IP

五、可视化面板 Portainer(新手友好,网页管理容器)

docker run -d \
--name portainer \
--restart=always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer-ce

安全组放行9000端口,访问 http://IP:9000,首次设置管理员账号密码,选择Local本地docker管理。

六、常见坑&注意事项

  1. 安全组!安全组! 端口没放行,浏览器打不开
  2. 挂载目录建议全部用绝对路径,权限问题:chmod 755 目录
  3. MySQL、Redis不要直接裸端口暴露公网,建议加防火墙限制IP
  4. --restart=always 适合正式服务,测试容器不要加
  5. 云服务器内核过低、openvz架构不支持docker(现在主流KVM都没问题)
  6. 国内网络优先使用镜像加速,否则拉取镜像极慢

七、卸载Docker(需要重装时)

sudo sh get-docker.sh --uninstall
 或者手动
apt remove docker-ce docker-ce-cli containerd.io
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker /etc/docker
posted @ 2026-10-22 02:35  BLOGAME  阅读(16)  评论(0)    收藏  举报