
Docker
文章平均质量分 60
实验是检验真理的唯一标准
CN-FuWei
云原生领域优质创作者,热爱开源、善于折腾,对新技术充满好奇心。
展开
-
假死docker容器强制删除
查看docker日志可以看到docker一直在强制杀死某一个容器,但是就是杀不死。原创 2024-11-22 14:22:49 · 459 阅读 · 0 评论 -
docker pull镜像报错:‘invalid checksum digest format‘
这个命令将返回镜像的 manifest(元数据),其中包含有关镜像的详细信息,包括层(layers)和配置。通过多次执行docker push可以发现,连接会重置到443端口上,返回的类似是一个html的内容。可以看到已经有服务监听了443端口,我们需要把这个服务给停掉。然后,你可以提取 manifest 中的层信息,并使用。最终可以拉取成功,证明registry服务正常。可以看到,已经配置了registry的安全连接。镜像可以导入本地,证明镜像没有问题。最终镜像可以正常推拉到镜像仓库!原创 2023-12-08 15:49:20 · 1095 阅读 · 0 评论 -
k8s容器的调试利器-nsenter
Nsenter是一个命令行工具,可以让我们进入一个运行中的容器内部。当使用Docker/Contained运行一个容器时,容器内部就像是一个隔离的虚拟机环境,你需要通过命令行进入容器内部来进行管理和操作。通过Nsenter命令,可以使用容器内部的Shell或其它工具,就像在本地主机上执行命令一样方便。原创 2023-08-29 17:11:54 · 661 阅读 · 0 评论 -
自动化脚本清理registry历史镜像
如果 docker ps -a | grep registry 没有容器存在,那么请确定容器名称,然后-c参数执行容器名。经测试,再次push相同的镜像,因为容器运行缓存,无法正常生成镜像的manifest,需要重启下registry容器。默认镜像中心的docker容器名称为: registry。原创 2023-07-26 15:59:57 · 105 阅读 · 0 评论 -
docker-registry目录扩容磁盘
8.rsync -avP /home/deployer/biangeng/registry/ /home/t4/registry/ 或者mv /home/deployer/biangeng/registry/* /home/t4/registry/6.编辑/etc/fstab,添加内容:/dev/mapper/yoda--ssd-mpaas_registry /home/t4/registry ext4 defaults 0 0。首先我的环境是ops1、ops2都部署了registry。原创 2023-07-21 16:41:37 · 270 阅读 · 0 评论 -
docker registry删除远程仓库镜像
当集群内使用registry做为镜像仓库时,镜像长期积累会导致本地和远程仓库镜像占用大量的磁盘空间,这时我们需要对一些无用镜像进行定期清理。原创 2023-02-07 14:46:06 · 5328 阅读 · 1 评论 -
docker配置参数详解
【代码】docker配置参数详解。原创 2023-01-11 18:33:44 · 940 阅读 · 0 评论 -
JVM 内存与 K8s 容器内存不一致引发的 OOMKilled 总结
退出代码0表示特定容器没有附加前台进程该退出代码是所有其他后续退出代码的例外,一般是容器正常退出,程序自动退出。这不一定意味着发生了不好的事情。如果开发人员想要在容器完成其工作后自动停止其容器,则使用此退出代码。比如:kubernetes job 在执行完任务后正常退出码为 0。转载 2022-12-02 16:25:17 · 2509 阅读 · 1 评论 -
Docker--查看容器的启动命令(亲测有效)
若你的/etc/docker/daemon.json有额外的自定义配置信息也会输出到这里,摘掉即可。原创 2022-12-02 15:58:02 · 1689 阅读 · 0 评论 -
docker load镜像发现“no space left on device”问题
可以看到docker的根路径是 /var/lib/docker。原创 2022-10-28 17:04:02 · 3804 阅读 · 0 评论 -
三种docker可视化工具(全网最详细)
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。而且完全免费,基于容器化的安装方式,方便高效部署。原创 2022-08-26 11:12:53 · 34695 阅读 · 3 评论 -
容器进程调度时,是该优先考虑 CPU 资源还是内存资源?
前几天看到一个有意思的问题,问题是这样的:有 A B 两台服务器,其中 A 服务器 cpu 快满了,内存很空闲。另外一台 B 服务器 cpu 很空闲,但内存快满了。现在 k8s 有一个新的任务要调度,请问应该选择哪台服务器?这其实是现在非常火的 k8s 的经典应用场景。有的同学看到这个问题后的第一个想法是应该先评估一下新任务是计算密集型的业务还是 io 密集型的业务。然后再决定往哪个机器上调度。这么思考倒是也不能算错,只不过是没有抓到问题的关键点上。...原创 2022-08-11 16:04:33 · 178 阅读 · 0 评论 -
骚操作!居然能修改已运行的 Docker 容器端口映射?
如果你的容器还没有构建时,想添加端口映射时,你只需要在创建容器的时候添加-p参数,想添加几个端口映射就追加几个-p参数。原创 2022-08-11 15:12:18 · 560 阅读 · 0 评论 -
docker registry 镜像同步
下面的脚本做了一些简化,因为我们的 azure container registry 上的数量不多,只有五六十个镜像,而且镜像只有 latest 的 tag,没有其他 tag ,所以把上面的步骤做了简化,并没有分页获取所有的镜像,也没有获取所有的 tag,实际使用的话还请自行修改后使用。一切不是自动化的运维都是耍流氓,很有可能以后会有类似的需求,不如写个脚本自动化的跑吧。如果要同步的镜像比较多,考虑使用阿里云的镜像同步工具去同步。来获取,也可以分页,类似于上面获取镜像列表,可以通过。...原创 2022-08-10 16:10:16 · 1009 阅读 · 0 评论 -
为docker-registry仓库添加WebUI
私有仓库安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。然而不太方便的地方是不能直观的查看 registry 中的资源情况。如果可以使用 UI 工具管理镜像就更好了。原创 2022-08-10 16:03:57 · 724 阅读 · 0 评论 -
Containerd高级命令行工具nerdctl安装及使用
否则可能你创建出的pod它所使用的网段都是/etc/cni/net.d/10-containerd-net.conflist里面的"subnet": "2001:4860:4860::/64",没有使用你的flannel插件配置或者你的其他网络插件。但是这种情况下,我们直接用这个配置文件去创建我们的k8s集群,即使你是创建的一个flannel网络插件,但是启动起来pod后,它还是不会使用这个flannel插件的。如果你自己要去创建网络也是可以的啊,和docker一样,其实都是对接的我们cni,......原创 2022-08-05 11:26:05 · 5330 阅读 · 0 评论 -
Kubernetes 教程:根据进程PID 获取 Pod 名称
在管理 Kubernetes 集群的过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个容器里的进程。有没有办法可以根据 PID 快速找到 Pod 名称呢?假设现在有一个 prometheus 进程的 PID 是14338:1. Container ID要获取容器的 ID,可以查看 PID 对应的cgroup信息:cat /proc/14338/cgroup11:blkio:/kubepods/burstable/pod8e018a8e-4...原创 2022-06-06 09:49:43 · 2922 阅读 · 0 评论 -
非root用户管理k8s和docker容器
1.2 修改集群配置OPS机器关联kubectl进行如下操作:root用户执行:ops用户执行:1.3 验证二、非root用户管理docker由于docker软件安装好之后,自动会创建好docker用户组,所以这里只需要创建好管理docer容器的用户就好。首先来看一下正常的普通用户管理docker是什么样的切换dev用户执行docker命令,报错如下:现在我们把ops用户加入docker用户组中接下来切换ops用户来查看一下效果:原创 2022-06-02 10:17:27 · 2433 阅读 · 0 评论 -
Harbor镜像迁移
背景说明在早期生产环境尝试使用docker的时候,虽然使用了harbor作为镜像仓库,但是并没有做好相关存储规划,所有的镜像都直接存储到了harbor本地。随着业务发展,本地存储已无法满足镜像存储需求。解决方案有两种:使用共享文件系统存储,比如glusterfs,直接挂载本地的harbor存储目录当中。在此之前,只需要先把harbor本地目录中的文件拷贝到glusterfs当中即可。 部署一套新的harbor,直接使用共享存储作为镜像后端存储。将现有harbor中的所有镜像全量同步到新的har原创 2022-06-06 10:19:50 · 1904 阅读 · 0 评论 -
docker磁盘或者镜像清理
1,查看磁盘占用docker system df 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况:docker system dfTYPE列出了Docker使用磁盘的4种类型:Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers:运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes:容器挂载本地数据卷的空间。 Build Cache:镜像构建过程中产生的缓存空间(只有在使...原创 2022-05-10 09:55:20 · 1726 阅读 · 3 评论 -
Docker笔记之修改默认网段
docker 更改网段操作如下。安装 brctl 命令$ yum install bridge-utils -y删除旧网络$ sudo service docker stop$ sudo ip link set dev docker0 down$ sudo ip link set dev br-7eaec4fdf810 down$ sudo brctl delbr docker0$ sudo brctl delbr br-7eaec4fdf810此时老的网络已经全部清除,接着修改原创 2022-05-09 15:23:07 · 2512 阅读 · 0 评论 -
从docker容器时间问题探究到Namespace问题
1,容器的时间问题在测试环境已经全面使用 k8s 部署了,今天突然有一个测试同学,因为特殊场景,希望更改一下服务对应的容器时间,当时我心想,这不是挺简单的。于是就来到容器当中,执行如下命令进行更改:[root@a-admin-f478dbd55-ddv7x /]# dateTue Jun 18 14:01:34 CST 2019[root@a-admin-f478dbd55-ddv7x /]# date -s 05/28date: cannot set date: Operation n原创 2022-05-09 15:20:14 · 1132 阅读 · 0 评论 -
Docker笔记之与镜像相关的命令整理
1,常规查看docker images:显示所有顶层的镜像,它们的仓库, tag 和它们的大小。[root@moban ~]$docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/nginx 1.14 5f2d4477b7ea 5 days ago原创 2022-05-09 15:01:00 · 600 阅读 · 0 评论 -
利用Dockerfile创建一些基础镜像
在学习 docker 的过程中,我们会经常与镜像打交道,同时也要经常与网络打交道,下载远程镜像的快慢几乎都是靠人品来支撑,这样以来,学习的效率会大大降低,而且远程的一些镜像,很多时候未必适合自己使用的需求,因此,制作一些基础镜像用于日常使用,就显得非常必要了。1,构建 CentOS7.4需要用到四个文件。[root@localhost centos7]$lsaliyun-epel.repo aliyun-mirror.repo Dockerfile supervisord.conf原创 2022-05-09 14:56:43 · 1174 阅读 · 0 评论 -
认识了解Dockerfile
Dockerfile 由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile 分为四部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行的指令。Dockerfile 的指令是忽略大小写的,建议使用大写,使用 #作为注释,每一行只支持一条指令,每条指令可以携带多个参数。Dockerfile 的指令根据作用可以分为两种,构建指令和设置指令。构建指令用于构建 image,其指定的操作不会在运行 image 的容器上执行;设置指令用于设置 image 的属性,其指定的操作将原创 2022-05-09 14:49:28 · 382 阅读 · 0 评论 -
企业级镜像仓库harbor搭建
1,简单介绍Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到 Docker 容器,因为 docker 容器的技术正是借鉴了集装箱的原理。所以,Harbor 正是一个用于存储 Docker 镜像的企业级 Registry 服务。Harbor 是 Vmvare 中国团队开发的开源 registry 仓库,相比 docker 官方拥有更丰富的权限权利和完善的架构设计,适用大规模 docker 集群部署提供仓库服务。2,主要原创 2022-05-09 14:44:45 · 350 阅读 · 0 评论 -
docker搭建官方版私有仓库
1,直接通过如下命令启动私有仓库docker run -d --name registry -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always registry2,通过配置,连接私服vim /etc/docker/daemon.json{ "insecure-registries": ["192.168.106.5:5000"]} systemctl restart docker3,验证推拉镜像原创 2022-05-09 14:21:43 · 260 阅读 · 0 评论 -
docker配置加速器的几种方案
1,系统代理可以通过配置系统层级的代理进行加速。配置系统代理的方法如下:[root@localhost ~]$export http_proxy=http://192.168.96.10:1080;export https_proxy=http://192.168.96.10:1080;[root@localhost ~]$curl cip.ccIP : 47.91.208.248地址 : 中国 香港 阿里云运营商 : 22.396428 数据二 : 香港 | 阿里云 数据原创 2022-05-09 14:14:24 · 9832 阅读 · 0 评论 -
docker常用命令大集结
1.获取镜像docker search centos #搜索镜像, 优先选官方,stars数量多docker pull centos:6.9 #拉取镜像(下载镜像),注意版本docker push nginx #推送镜像(上传镜像)docker load #导入镜像 例子: docker load -i docker_nginx.tar.gzdocker原创 2022-05-09 11:40:04 · 225 阅读 · 0 评论 -
docker的几种安装方式
1,安装默认的1.13版本。由于docker是外国产品,很多时候安装使用中会受困于网络,因此安装起来也会显得有一些头大,当然也可以直接在CentOS 7上yum -y install docker,这样安装出来的版本就是1.13。2,通过rpm安装其他版本可以下载.rpm适用于您的发行版的 文件并手动安装。每次要升级Docker时都需要下载新文件。2.1,下载包转到 https://download.docker.com/linux/centos/7/x86_64/stable/Pack原创 2022-05-09 11:33:28 · 1336 阅读 · 0 评论 -
docker overlay2磁盘爆满,进行目录迁移
docker overlay2目录迁移一、确定当前磁盘使用情况du -hs /var/lib/docker/若overlay2目录使用率较高,并且没有闲置容器和无用镜像可清理,则需要进行扩容或者迁移以下命令谨慎操作:docker system prune #命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)二、查看当前docker磁盘使用情况dockecr system df 三、停止docker服务systemct原创 2022-04-21 10:10:15 · 4793 阅读 · 2 评论