查看容器
# 查看活跃容器
docker ps
# 查看所有容器(包括已关闭)
docker ps -a
# 筛选指定名称和状态的容器
docker ps -q --filter name=.*bingohuang.* --filter status=exited
# 设置容器自启动
docker container update --restart=always registry-srv
清除镜像和容器
# 删除已关闭容器
docker rm $(docker ps -aq -f status=exited)
# 删除无tag镜像
docker rmi $(docker images | grep '<none>' | awk '{print $3}')
# 删除后4个镜像
docker rmi -f `docker images | awk '{print $3}'| tail -n +4`
# 删除前9个镜像
docker rmi -f $(docker images -q | head -n 9)
查看镜像
# 查看镜像
docker images
# 查看镜像详细构建历史
docker history --no-trunc registry.cn-shanghai.aliyuncs.com/peter/prome/manager:v0.18.0
镜像导入导出
# 导入指定目录所有镜像
for image in `ls`; do docker load -i $image; done
# 导出非gpu所有镜像(整包)
docker save -o userPublic-nogpu.tgz $(docker images | grep -vE 'TAG|gpu' | awk '{print $1":"$2}')
# 导出非gpu所有镜像(分包)
images=$(docker images | grep -vE 'TAG|gpu' | awk '{print $1":"$2}')
for image in $images; do docker save -o $(echo $image | awk -F/ '{print $3".tar"}') $image; done
排查磁盘占用较大的容器
# 排查磁盘占用较大的容器
du -sh /var/lib/docker/containers/* |grep G
# 通过容器id快速定位k8s pod
docker inspect --format='{{index .Config.Labels "io.kubernetes.pod.name"}}' 4102005ae5e5
批量替换镜像仓库
# 基于项目文件
repo=registry.peter.com/shirly
for each in `grep -iR "image: " .|awk '{print $1"|"$2"|"$3}'`; do
file=`echo $each | cut -d"|" -f1 | sed 's/://'`
image=`echo $each | cut -d"|" -f3`
image_new=`echo $repo/${image##*/}`
echo "sed 's#$image#$image_new#g' $file
docker pull $image
docker tag $image $image_new
docker push $image_new" >>update_image.sh
done
# 基于本地仓库
repo=registry.peter.com
for each in `docker images |grep -v REPOSITORY | awk '{print $1":"$2}'`; do
docker tag $each $repo/${each#*/}
docker push $repo/${each#*/}
done
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/165178.html