Docker 笔记:常用命令整理
镜像管理
- 查看镜像:docker images
- 拉取镜像:docker pull xxx
- 删除镜像:docker rmi xxx
容器管理
- 查看容器:docker ps / docker ps -a
- 进入容器:docker exec -it 容器名 bash
- 停止容器:docker stop 容器名
- 删除容器:docker rm 容器名
docker-compose 常用
- 启动:docker-compose up -d
- 停止:docker-compose down
- 查看:docker-compose ps
- 拉镜像:docker-compose pull
常用组合示例
- docker run -d -p 8080:80 nginx
- docker exec -it my-container bash
- docker-compose up –build
清理空间
- docker system prune -a
我的fre123部署流程
- 以阿里云为例
- 容器部署
|
|
- 成功部署
|
|
- 下一步:浏览器访问
你可以现在在浏览器访问以下地址:
|
|
- 注意:确保端口已在阿里云安全组开放 如果访问不了,可能是安全组没放行这些端口:
- 3000(前端)
- 3001(管理后台)
- 8765(后端 API,如果你需要访问)
- 27077(MongoDB 端口,通常不建议暴露) 你可以登录 阿里云控制台 → 安全组 找到对应实例的安全组,手动添加规则(其他服务器同理)
- 服务器防火墙设置 除了要在阿里云开放安全组,你还需要设置服务器本地防火墙开放,具体操作步骤可查看初步接触Nginx的文章
🐳 Nuxt 博客项目从 Windows 上传到阿里云服务器并用 Docker 部署上线教程
本教程适用于:在 Windows 本地开发 Nuxt 3 项目,在阿里云服务器(Linux)上通过 Docker 打包、运行并对外提供服务。
前置条件
- 本地开发环境(Windows) 上已有一个可正常构建的 Nuxt 3 项目。
- 阿里云服务器(推荐 CentOS 或 Ubuntu)已安装 Docker(无需本地安装 Docker)。
- 拥有服务器的 SSH 登录权限(FinalShell、XShell、PuTTY 等工具)。
- (可选)已注册 Docker Hub 账号,用于推送镜像分享给他人。
将项目上传到阿里云服务器
方法一:FinalShell 右键上传
- 打开 FinalShell,连接到你的阿里云服务器。
- 在左侧文件管理器中定位到本地项目文件夹。
- 右键选中项目根目录,选择 “上传到服务器”,目标路径可选
/root/nuxt-blog
。
方法二:命令行 scp
|
|
在服务器上编写 Dockerfile
-
SSH 登录服务器:
1
ssh root@<服务器IP>
-
进入项目目录:
1
cd /root/nuxt-blog
-
创建并编辑
Dockerfile
(适用于Nuxt3):1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# ---------- 构建阶段 ---------- FROM node:18 AS builder # 设置工作目录 WORKDIR /app # 增加 Node.js 可用内存(防止内存不足) ENV NODE_OPTIONS="--max-old-space-size=3072" # 拷贝依赖配置并安装 COPY package.json yarn.lock ./ RUN yarn install # 拷贝全部项目源码 COPY . . # 避免 nuxt 权限问题 RUN chmod +x node_modules/.bin/nuxt # 构建项目 RUN node_modules/.bin/nuxt build # ---------- 运行阶段 ---------- FROM node:18 AS runner # 设置工作目录 WORKDIR /app # 仅复制必要文件,减小镜像体积 COPY --from=builder /app/.output .output COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./ # Nuxt 默认端口 EXPOSE 3000 # 启动服务 CMD ["node", ".output/server/index.mjs"]
构建 Docker 镜像
在项目根目录执行:
|
|
-t
:为镜像打标签,格式为仓库名:版本
。.
:表示当前目录的 Dockerfile。
运行 Docker 容器
|
|
-d
:后台运行容器。-p 3000:3000
:映射宿主机 3000 端口到容器 3000 端口。--name
:指定容器名称,方便管理。
测试访问:打开浏览器,访问 http://<服务器IP>:3000
,能正常看到 Nuxt 页面即部署成功。
(可选)推送镜像到 Docker Hub
-
登录:
1
docker login
-
推送:
1
docker push <用户名>/nuxt-blog:v1.0
之后其他人只需:
|
|
即可一键运行。
(可选)用 Nginx 反向代理统一入口
若你希望通过域名(如 blog.linsou.asia
)访问,并隐藏端口,可在服务器上安装并配置 Nginx:
-
安装 Nginx:
1 2
sudo yum install -y nginx # CentOS # 或 sudo apt install -y nginx # Ubuntu
-
新建配置
/etc/nginx/conf.d/nuxt-blog.conf
:1 2 3 4 5 6 7 8 9 10
server { listen 80; server_name blog.linsou.asia; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
-
校验并重载:
1 2
sudo nginx -t sudo systemctl reload nginx
访问 http://blog.linsou.asia
即可直达 Nuxt 应用。
恭喜你!🎉 通过本教程,你已掌握从 Windows 传输项目、在 Linux 服务器上打包 Docker 镜像并部署 Nuxt 应用的全流程。