Docker相关内容

自己打包的Docker镜像,如何拉取到服务器使用

1. 通过 Docker 保存和加载镜像

你可以将本地镜像保存为 .tar 文件,然后将其传输到目标服务器,并使用 docker load 命令加载该镜像。

1.1 在本地机器上保存镜像

首先,在本地机器上使用 docker save 命令将镜像保存为 .tar 文件:

bash 复制代码
docker save -o my_image.tar my_image_name:tag
  • my_image_name:tag:这是你想要保存的镜像名称和标签。
  • my_image.tar:这是保存镜像的 .tar 文件。
1.2 将镜像文件传输到服务器

你可以使用 scp(或其他文件传输工具)将 .tar 文件传输到你的目标服务器。例如:

bash 复制代码
scp my_image.tar username@your_server:/path/to/destination
1.3 在服务器上加载镜像

在服务器上使用 docker load 命令加载镜像:

bash 复制代码
docker load -i my_image.tar

加载完成后,你就可以像平常一样使用该镜像了:

bash 复制代码
docker run my_image_name:tag

命令

系统命令

启动 Docker 服务

bash 复制代码
sudo systemctl start docker

停止 Docker 服务

bash 复制代码
sudo systemctl stop docker

启动 Docker 服务并设置开机自启

bash 复制代码
sudo systemctl enable docker

禁用 Docker 服务的开机自启

bash 复制代码
sudo systemctl disable docker

查看 Docker 服务的状态

你可以使用以下命令查看 Docker 服务的当前状态:

bash 复制代码
sudo systemctl status docker

复制Docker镜像里面的内容到root目录

bash 复制代码
docker cp 要复制的文件或文件夹目录  /root/

容器和镜像命令

bash 复制代码
# 这会显示所有容器的详细信息,包括容器 ID、名称、使用的镜像等
docker ps -a

# 显示正在运行的容器实例
docker ps

# 只看某个镜像是否有运行容器
docker ps | grep ml-models
# 如果有输出,说明这个镜像有容器在运行;
# 没有输出则说明没有正在运行的容器。

# 进入正在运行的容器
docker exec -it <容器ID或容器名> /bin/bash

# 重启容器
docker restart <容器名或容器ID>

# 停止容器
# 使用容器 ID 或容器名称来停止容器
docker stop ml-models
docker stop aa3ef8c45579

# 暂停容器
docker pause <容器名或容器ID>
# 恢复容器
docker unpause <容器名或容器ID>

# 停止容器
docker stop <容器名或容器ID>


# 删除容器
docker rm xxx or id

# 相关容器被删除之后,就可以删除镜像了
docker rmi ml-models:latest
docker rmi <镜像ID>

# 查看某个镜像的日志
docker logs model_name

修改容器里的内容

如果容器内实在不好改,也可以在宿主机编辑好 index.js,然后复制到容器中:

bash 复制代码
docker cp index.js 容器id:/app/index.js

容器id 也可以换成容器名字

修改完之后:

  • 仅想运行当前服务,开发调试,非持久性场景
bash 复制代码
docker restart 容器id

容器id 也可以换成容器名字

  • 希望保留这个修正到镜像中供将来使用或部署
bash 复制代码
# 首先提交修改后的容器为一个新的镜像
docker commit ml-models ml-models:modified

# 然后用这个新镜像启动新容器
docker run -d -p 5001:5000 --name ml-models-v2 ml-models:modified
相关推荐
运维全栈笔记4 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc6 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
AI木马人6 小时前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
身如柳絮随风扬13 小时前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN14 小时前
docker下搭建redis集群
redis·docker·容器
一只小bit14 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里15 小时前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker
jeCA EURG15 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
身如柳絮随风扬15 小时前
使用 Docker 部署 Jenkins 并实现自动化部署 —— 从零到一的 CI/CD 实践指南
docker·自动化·jenkins
就叫飞六吧15 小时前
docker快速启动sqlserver实例并自动测试shell脚本
docker·容器·sqlserver