平时工作中不常用Docker,都是到最后模型开发完毕需要打包交付的时候要用到Docker,对其具体指令已经是忘的一干二净,然后就是一顿手忙脚乱的翻找笔记,或者请教大模型,比较麻烦,今天就把所有经常会用到的指令做一个梳理,等到下次用的时候打开博客翻找即可,翻遍省事;
一、官方商城
先介绍一下Docker的官方仓库,这里有非常丰富的Docker镜像可供使用,比如nginx服务镜像、各种版本的python镜像、Milvus镜像等等;
二、获取镜像
两种方式获取:
方式一:在dockerhub中搜索想要的镜像,复制指定的docker pull命令到命令行下载;
# 例如下载python镜像
docker pull python:3.12
方式二:通过dockerfile自己构建一个docker镜像;
# 通过dockerfile创建镜像
docker build .
三、各种指令
# 查看docker版本
docker --version
# 停止docker服务
service docker stop
# 启动docker服务
systemctl restart docker
# 查看本地镜像库
docker images
# 删除本地镜像
docker rmi imageID
# 修改镜像名
docker tag imageID 新名字:版本号
# 镜像压缩包加载到本地镜像仓库
docker load < xxx.tar
# 镜像导出为压缩包
docker save -o xxx.tar image_name:tag
# 查看已建立容器信息
docker ps
# 停止已运行容器
docker stop 容器ID
# 启动已停止容器
docker start 容器ID
# 暂停运行容器
docker pause 容器名
# 运行暂停容器
docker unpause 容器名
# 删除已停止容器
docker rm 容器ID
# 进入容器
docker attach 容器ID
# 通过bash进入容器
docker exec -it 容器ID bash
# 退出容器
exit
# 容器压缩为镜像
docker commit 容器ID image_name:tag
#
# 创建容器
docker run 各种参数 镜像名:版本号 待运行指令
各种参数 | 代表含义 |
-it | 启动可编辑模式 |
-d | 后台启动 |
-p | 端口映射 (宿主机端口号:容器暴露端口号) |
-w | 后跟路径,指定开启容器后的工作目录 |
--name | 指定容器名 |
--gpus | 指定GPU编号,all表示加载宿主机所有可识别GPU |
-v | 挂载目录 (宿主机文件路径:容器内对应路径) |
--rm | 退出就删除容器 |
--user | 以某个用户创建容器,后跟root表示root用户创建 |
--shm-size | 指定共享内存大小;=1g表示共享内存1G |
持续更新~