当前位置: 首页 > news >正文

docker常见使用方法

容器和镜像之间的关系

1. 安装软件

linux使用清华源安装 docker 和 docker compose
windows装在C盘会容易满,可以装在D盘,

"Docker Desktop Installer.exe" install -accept-license --installation-dir=D:\Docker\Docker --wsl-default-data-root=D:\Docker\data "Docker Desktop Installer.exe" install --installation-dir="D:\Docker"

已无长期稳定的镜像源,挂梯即可

2. 查看docker 版本号信息

dockerversion
dockerinfo

3. docker 镜像命令

查看自己服务器中docker 镜像列表

dockerimages

拉取镜像不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

dockerpull 镜像名dockerpull 镜像名:tag

删除镜像------当前镜像没有被任何容器使用才可以删除

#删除一个dockerrmi-f镜像名/镜像ID#删除多个 其镜像ID或镜像用用空格隔开即可dockerrmi-f镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID#删除全部镜像 -a 意思为显示全部, -q 意思为只显示IDdockerrmi-f$(dockerimages-aq)# 强制删除镜像dockerimagerm镜像名称/镜像ID# 删除所有缓存dockerbuilder prune-f

docker修改内容的保存:docker commit

docker容器相当于是docker镜像(类)的一个实例,对容器的修改,实际上是对实例的修改,但它并不只存在于内存,而是在磁盘上有持久化存储(除非是 --rm 运行的临时容器)。

dockercommit-m="提交描述信息"-a="作者"容器id 自己起镜像名:tag

保存镜像到.tar

dockersave 镜像名:tag>镜像保存在哪个位置与名字

加载<镜像.tar>

dockerload<镜像保存文件位置

添加一个新镜像来改tag

dockertag 源镜像名:TAG 想要生成新的镜像名:新的TAG

4. docker 容器命令

查看正在运行容器列表

dockerpsdockerps-a

新建一个容器(镜像的实例)

# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径dockerrun-it-d-p宿主机端口:容器端口-v宿主机文件存储位置:容器内文件位置--name容器名--gpusall--restart=always 镜像名:Tag /bin/bash

进入容器

# 启动容器dockerstart 容器ID/容器名# 重启容器dockerrestart 容器ID/容器名# 更换容器名dockerrename容器ID/容器名 新容器名# 进入容器的两种方式dockerexec-it容器名/容器ID /bin/bashdockerattach 容器名/容器ID

容器导出和导入
通过export 和 import 导出的容器形成镜像时, 该镜像只有一层。通过save 和 load 导出的镜像保留了原镜像所有的层次结构, 导出时原镜像有几层, 导入的时候就还是有几层。

dockerexportcontainer>container.tar.gzdockerimportcontainer.tar.gz container:v1

退出容器

#-----直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭exit# 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭Ctrl + p + q

停止容器

dockerstop 容器名/容器ID# kill容器dockerkill容器ID/容器名

删除容器

#删除一个容器dockerrm-f容器名/容器ID#删除多个容器 空格隔开要删除的容器名或容器IDdockerrm-f容器名/容器ID 容器名/容器ID 容器名/容器ID#删除全部容器dockerrm-f$(dockerps-aq)

容器文件拷贝—无论容器是否开启 都可以进行拷贝

#从容器内 拷出dockercp容器ID/名称: 容器内路径 容器外路径#从外部 拷贝文件 到容器内dockercp容器外路径 容器ID/名称: 容器内路径

5. dockerfile编写

FROM quay.io/ascend/vllm-ascend:main-a3 RUN apt update && \ apt install -y \ curl \ wget \ unzip \ screen \ tzdata \ vim \ less \ iproute2 \ git \ build-essential \ && rm -rf /var/lib/apt/lists/* RUN git clone -b v0.3.11 --depth 1 https://github.com/kvcache-ai/Mooncake.git /opt/Mooncake RUN cd /opt/Mooncake && \ sed -i 's|https://go.dev/dl/|https://golang.google.cn/dl/|g' dependencies.sh && \ bash dependencies.sh -y ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ echo $TZ > /etc/timezone RUN rm -rf /tmp/* /var/tmp/* CMD ["bash"]

x64平台下build arm64的镜像

vim/etc/docker/daemon.json## 写入{"features":{"containerd-snapshotter":true}}## 重启dockersystemctl restartdocker
dockerrun--rm--privilegedmultiarch/qemu-user-static--reset-pyesdockersystemdf-vdockerbuild--platformlinux/arm64-tquay.io/ascend/vllm-ascend:v0.18.0-a3-screen--outputtype=docker,dest=/home/cc/vllm-ascend_v0.18.0-a3-screen.tar.dockerbuilder prune-af

6. docker compose常用命令

从 ​Docker Compose v2​ 开始,官方将 docker-compose 命令改为了 ​docker compose​(无横杠),以更好地与 Docker CLI 集成,并遵循 Docker 的命名规范。

功能命令
版本检查docker compose version
启动服务docker compose up前台运行(默认附加到终端) / docker compose up -d后台运行(detached 模式)
停止服务docker compose stop
重启服务docker compose restart
列出 Compose 使用的镜像docker compose images
查看运行状态docker compose ps
查看日志docker compose logs
构建镜像docker compose build
创建新容器运行一次性命令docker compose run [service] [cmd]
拉取镜像docker compose pull
执行命令docker compose exec [service] [cmd]
检查配置docker compose config
​复制文件/文件夹(容器 → 本地)​docker compose cp [service]:[path] [local_path]
​复制文件/文件夹(本地 → 容器)​docker compose cp [local_path] [service]:[path]
停止并移出所有容器和网络docker compose down
停止并移出所有容器、网络和匿名卷docker compose down -v
停止并移出所有容器、网络、匿名卷和所有镜像docker compose down --rmi all
http://www.jsqmd.com/news/1206452/

相关文章:

  • 5分钟快速上手:微信公众号爬虫工具完整使用指南
  • AI辅助STM32开发:零代码实现按键控制LED
  • CANN/asc-devkit SIMT数学函数erfcxf
  • 如何高效使用跨平台直播聚合工具:新手完整指南
  • 射频衰减器原理与应用:5G信号链中的关键元件
  • 如何永久保存你的数字记忆?WeChatMsg年度报告生成器完整指南
  • Beyond Compare 5专业版授权密钥生成完全指南:3种实用方案彻底解决试用期限制
  • 零基础搭建桌面智能助手 OpenClaw v2.7.9 Windows 分步实操详解
  • 2026天津双轨高考复读班推荐 多元升学路径机构盘点 - 信息热点
  • Legacy iOS Kit:让经典iOS设备重获新生的终极工具链
  • 从PCI-E到PCIe 6.0
  • Elastic: 将来一年中 AI 从活动转向成果
  • windows server 2003 连接 win10 共享打印机
  • Chrome Elements Panel:前端调试的核心工具与实战技巧
  • 思源宋体免费商用字体:7种字重完整指南与实战应用
  • 网络配置完成后,用这3个方法验证你的环境“合格”了没
  • 高频PCB设计中过孔阻抗匹配与信号完整性优化
  • Hermes Agent:零代码浏览器自动化的终极解决方案,为开发者释放生产力
  • 积家佛山区官方维修中心|权威公示维保地址及客服热线(2026年7月最新) - 积家中国服务中心
  • 上锡不良耐压击穿?厚铜PCB表面工序工艺逐项评估
  • 2026年山西本土优质空压机公司推荐参考指引 - 奔跑123
  • CANN/asc-devkit __float2bfloat16_rn函数
  • 用户、角色、权限为什么要拆成五张表比较好?换做你会如何设计?
  • 50Hz灯光频闪问题解析:从原理到解决方案
  • CANN/asc-devkit bfloat16转int函数
  • Win10网信政府版磁盘共享
  • Windows 11任务栏拖放功能终极修复指南:如何恢复原生文件拖放体验
  • Servest CORS配置指南:跨域资源共享的完整解决方案
  • CANN/asc-devkit y1f数学函数
  • 如何快速解决Windows 11任务栏拖放失效问题:终极修复指南