docker003 image 镜像
每一层的唯一id包括156比特, 由64个十六进制字符组成
常用技巧 指令 docker p383
删
bash
docker rmi <image id>
docker rmi image_id
docker rmi myubuntu:latest
# 如果有多个标签,只是删除了一个标签
# 只有一个标签时候,就彻底删除了镜像
# 注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器
# 虚悬镜像 dangling image
# 清理所有未打过标签的本地镜像 虚悬镜像
# docker pull或者docker image导致标签被新的镜像拿走, 老的镜像既没有仓库名,也没有标签名;
docker image prune # 删除所有虚悬镜像 方式1
# 删除所有虚悬镜像 方式2
sudo docker rmi $(docker images -q -f "dangling=true")
# 其中 -q 和 -f 是缩写, 完整的命令其实可以写着下面这样,是不是更容易理解一点?
sudo docker rmi $(docker images --quiet --filter "dangling=true")
查
https://docs.docker.com/engine/reference/commandline/search/
bash
# 查看
docker images
docker imagess tomcat
docker images ls
# 查image id
docker images -q
# 查看详细信息
docker inspect <image_name>
# 查看镜像制作历程
docker history <image_name>
# 如何查看镜像支持的环境变量
docker run IMAGE env
# 搜索 search
# -f stars=N 替代 --stars
# --limit N 只列出N个镜像, 默认25个
docker search --help
dockert info
docker search --filter stars=3 busybox
# 星数不少于3的镜像
# 查看所有 镜像 容器 数据卷 所占用的空间
docker system df -v
导入/导出镜像
Docker image export with tag: https://github.com/okeyear/scripts/blob/main/shell/docker-images-export.sh
- 导出镜像
bash
sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
- 导入镜像
bash
docker load --input ubuntu_14.04.tar
sudo docker load < ubuntu_14.04.tar
获取镜像pull
bash
# 语法
docker pull [option] [registry.hub.docker.com[:port]/]NAME[:TAG]
# 如果TAG不指定,默认是latest
推送镜像push
上传镜像
shell
docker push [OPTIONS] NAME[:TAG]
其他
常用基础镜像
bash
for i in {centos:7,almalinux{,:minimal},alpine} # debian:{9,10,11},ubuntu:{20,22}.04,oraclelinux,
do
docker pull $i
done
ss镜像
shell
docker run -dt --name ss -p 8989:8989 mritd/shadowsocks -s "-s 0.0.0.0 -p 8989 -m aes-256-gcm -k yourpassword --fast-open"
常用镜像相关命令
- 对镜像添加标签
shell
docker tag ubuntu:latest mybuntu:latest
(从容器)创建镜像 https://docs.docker.com/engine/reference/commandline/commit/
(从本地模板/openvz模板导入)创建镜像 https://wiki.openvz.org/Download/template/precreated
shell
sudo cat ubuntu-14.04-x86_64-minimal.tar.gz |docker import - ubuntu:14.04
cat centos7.tar | docker import - centos:7
cat centos-6-x86_64-minimal.tar.gz | docker import - centos:6