一,镜像相关命令
1,查看所有镜像
docker images
#具体列解释含义:
REPOSITORY TAG IMAGE ID CREATED SIZE
#镜像仓库源 #镜像的标签 #镜像id #创建时间 #大小
其他查看命令
docker images -a #列出本地所有的镜像
docker images -q #只显示镜像ID
docker images --digests #显示镜像的摘要信息
docker images --no-trunc #显示完整的镜像信息
2,搜索镜像
docker search 镜像名
3,拉取镜像
docker pull 镜像名 / docker pull xxx:latest #默认是最新版本
docker pull 镜像名:tag # 选择指定版本下载
4,删除镜像
#单个镜像删除
docker rmi 镜像名/镜像id
#强制删除(后台运行的不能删除)
docker rmi -f 镜像名/镜像id
5,保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字 REPOSITORY:TAG
6,加载镜像
docker load -i 镜像保存文件位置
二,容器相关命令
1,利用镜像创建容器(前提没有容器)
docker run -it -d --name 要取的别名 -rm -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash
#参数含义:
-it 表示 与容器进行交互式启动
-d 后台运行
--name 容器名
-rm 指定容器停止后自动删除容器
-p 将容器的端口映射到宿主机上,通过宿主机访问内部端口
-v 将容器内的指定文件夹挂载到宿主机对应位置
/bin/bash 交互路径
2,启动容器(前提已有容器)
docker start 容器名/容器id
3,进入容器(前提容器处于运行状态)
方法一:进入容器之后,退出之后不会关闭容器
docker exec -it 容器名/容器ID /bin/bash
注意,有部分容器bash,进入的时候会报错
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown
解决方法,将bash替换成sh
docker exec -it 容器名/容器ID /bin/sh
方法二:进入容器之后,退出会关闭容器
docker attach 容器名/容器id
4,进入容器后退出
exit
5.停止容器
docker stop 容器名/容器id
6,删除容器
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq
三、docker run报错
WARNING: The requested image’s platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
解决办法
docker build 后面加:–platform linux/amd64 (arm64 兼容 mac m系列)