管理员
2026-06-03
docker使用
32次阅读
0
1

将 Docker 镜像推送到自己的服务器,通常有两种主流方案。你可以根据服务器的网络环境和团队规模选择最适合的方式:

方案一:离线打包传输(适合无公网仓库或临时部署)

这是最基础且广泛使用的方法,无需搭建额外的镜像仓库服务。具体步骤如下:

1. 本地打包镜像
在本地开发机上,将目标镜像导出为 .tar 文件:

docker save -o my-app-image.tar my-app-image:latest

2. 传输到远程服务器
使用 scp 命令将打包好的文件安全地传输到目标服务器:

scp my-app-image.tar root@你的服务器IP:/目标路径/

3. 服务器加载并运行

登录到目标服务器后,加载该镜像文件并启动容器:

# 加载镜像
docker load -i /目标路径/my-app-image.tar

# 验证是否加载成功
docker images

# 运行容器
docker run -d -p 8080:8080 my-app-image:latest


容器管理

查看运行中的容器:

docker ps

查看所有容器:

docker ps -a

启动容器:

docker start 容器ID

停止容器:

docker stop 容器ID

重启容器:

docker restart 容器ID

删除容器:

docker rm 容器ID

强制删除:

docker rm -f 容器ID


docker常用命令

查看日志

实时查看日志:

docker logs -f 容器名

查看最近100行:

docker logs --tail 100 容器名

查看时间戳:

docker logs -f -t 容器名

.NET 程序异常排查最常用:

docker logs -f myapi

进入容器

Linux镜像:

docker exec -it 容器名 bash

如果没有 bash:

docker exec -it 容器名 sh

例如:

docker exec -it myapi bash

使用 --entrypoint 强制进入排查问题

docker run -it --rm --entrypoint /bin/bash zradminwebapi

zradminwebapi 是镜像名


使用 docker compose 启动

要在xxx.yml 同级目录使用

docker compose up -d
-d 参数:后台运行(detached mode)。不加 -d 会前台运行并占用终端,按 Ctrl+C 停止。


场景命令说明
首次启动 / 代码变更后docker compose up -d --build重新构建镜像并启动
仅重启某个服务docker compose restart myadmin不重建镜像,快速重启
修改了配置/环境变量后docker compose up -d自动检测变更并重建容器
指定多个 compose 文件docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d后者覆盖前者的配置
指定 .env 文件docker compose --env-file .env.production up -d加载指定的环境变量文件
强制重建(忽略缓存)docker compose build --no-cache && docker compose up -d彻底干净构建
停止并删除所有资源docker compose down停止容器 + 删除网络
停止并清除数据卷docker compose down -v⚠️ 会删除数据库等持久化数据

🔍 启动后验证

# 查看运行状态 docker compose ps 
# 查看实时日志 docker compose logs -f myadmin 
# 进入容器排查 docker compose exec myadmin sh

💡 注意事项

  1. 版本确认:运行 docker compose version 检查是否为 V2。如果输出带 v2.x.x,使用 docker compose(无连字符);如果是 1.x.x,建议升级到 V2。
  2. 配置文件默认值:不指定 -f 时,默认读取当前目录下的 docker-compose.yml 或 compose.yml。
  3. 环境变量生效:修改 .env 文件或 environment 配置后,必须执行 docker compose up -d 才能生效,仅 restart 不会重新注入环境变量。
  4. 生产环境建议:始终加 -d,并配合日志驱动(如 local 或外部采集)避免磁盘被 stdout 撑爆。


表情
图片

暂无评论~

目录 收起
方案一:离线打包传输(适合无公网仓库或临时部署)
容器管理
查看日志
▾进入容器
使用 --entrypoint 强制进入排查问题
使用 docker compose 启动
🔍 启动后验证
💡 注意事项
推荐文章
uniapp-v1.2.0更新
1点赞83阅读
使用 Secret Manager
0点赞8阅读
linux服务器定时更新GitHub dns
0点赞10阅读
2026-07-23更新日志
0点赞199阅读
docker使用
0点赞32阅读
2026-05-26更新日志
0点赞51阅读
PC端会员版更新内容
0点赞48阅读
2026-4-22更新日志
1点赞77阅读
2025年6月15日更新内容
1点赞254阅读
移动端vue3-1.1.5更新
0点赞355阅读
移动端体验