看公网仓库(比如 Docker Hub)上有哪些镜像
在 Docker Hub 搜索镜像名(最常用)
bash
docker search nginx
docker search debian
docker search libheif
docker search --limit 50 redis
看某个镜像到底有哪些 tag/版本(远端)
例如想看 debian 有哪些版本:bookworm / bullseye / 12 / 11 等
A. 用第三方工具(最顺手):skopeo
bash
skopeo list-tags docker://docker.io/library/debian
skopeo list-tags docker://docker.io/library/nginx
B. 用 crane(Google 的 go-containerregistry 工具)
bash
crane ls debian
crane ls nginx
镜像拉取
bash
docker pull debian:10
查看本地已有的镜像
bash
docker images
创建并启动一个新容器
bash
docker run -d -v /root/yjq/libheif-1.20.2:/root/yjq/libheif-1.20.2 -v /root/yjq/libheif:/root/yjq/libheif --name debian_10 ba58cfa2eb92 tail -f /dev/null
-d :后台运行
-v: -v 宿主机路径:容器内路径
--name debian_10:给容器指定名字叫 debian_10 ba58cfa2eb92:镜像(image)标识
tail -f /dev/null :这是容器启动后执行的命令
tail -f 会持续跟踪输出,不退出
/dev/null> 是"空设备",不会有内容输出
作用:让容器永远不退出。 因为 Docker 容器的生命周期由"前台主进程"决定:主进程结束,容器就停。用 tail -f /dev/null 相当于放一个永不结束的进程在前台,容器就保持运行状态,方便后续 docker exec 进去做编译、调试等操作
进入容器(此容器已经运行)
bash
docker exec -it debian_10 bash
停止容器运行
bash
docker stop debian_10
重新启动容器(事先 docker run 过)
bash
docker restart debian_10
查看容器情况
bash
docker ps # 只查看运行着的容器
docker ps -a # 查看所有容器(运行着的,停止运行的)
删除容器
bash
docker rm debian_10
删除镜像
bash
docker rmi ba58cfa2eb92