
docker
文章平均质量分 71
docker原理和使用经验
码农在失业
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
docker arm/amd双架构镜像制作
Docker for Linux 不支持构建 arm 架构镜像,我们可以运行一个新的容器让其支持该特性,Docker 桌面版无需进行此项设置。由于 Docker 默认的 builder 实例不支持同时指定多个 --platform,我们必须首先创建一个新的 builder 实例。1、如果又出现连接网络问题 exit code 100,可以执行下面命令。config.yaml文件内容。原创 2024-11-26 12:07:17 · 1380 阅读 · 0 评论 -
使用Alpine镜像作为基础镜像的Dockerfile配置
apk安装时需要添加 --no-cache,比如 apk add --no-cache tzdata。# 清理运行时不需要的软件和安装缓存。dockerfile制作时。原创 2024-11-25 17:36:50 · 473 阅读 · 0 评论 -
通过docker overlay2 目录名查找容器名和容器ID
先进入overlay2的目录,这个目录可以通过docker的配置文件(/etc/docker/daemon.json)内找到,比如/var/lib/docker/overlay2。然后看看谁占用空间比较多。原创 2024-11-24 14:25:38 · 723 阅读 · 0 评论 -
多阶段构建---多个FROM指令
每一条 FROM 指令都是一个构建阶段,多条 FROM 就是多阶段构建,虽然最后生成的镜像只能是最后一个阶段的结果,但是,能够将前置阶段中的文件拷贝到后边的阶段中,这就是多阶段构建的最大意义。多个 FROM 指令并不是为了生成多根的层关系,最后生成的镜像,仍以最后一条 FROM 为准,之前的 FROM 会被抛弃,那么之前的FROM 又有什么意义呢?我们直接将etcd镜像中的程序拷贝到了我们的镜像中,这样,在生成我们的程序镜像时,就不需要源码编译etcd了,直接将官方编译好的程序文件拿过来就行了。原创 2024-11-24 14:24:37 · 926 阅读 · 0 评论 -
k8s集群中如何通过nsenter进入namespace对容器进行抓包
5、直接使用tcpdump命令在需要的网口抓包,这里举例使用命令为:tcpdump -e -nn -i eth1 icmp/tcp/udp ,表示在该容器的eth1口进行抓包。、执行命令 ip addr显示容器内的地址信息。查看显示信息,可知当前容器使用的网卡为eth1。3、根据所查得Pid进入容器对应的namespace。找到所要抓包的容器id。查看容器的进程id。原创 2024-11-24 14:23:01 · 252 阅读 · 0 评论 -
Docker制作指定系统基础镜像方法
1. 使用KVM(virt-manager)或者vmvare工具通过ISO安装一个干净的虚拟机系统(suse、cgsl)2. 安装后进入系统根目录,执行镜像制作命令如下(tar打包即可,里面的某些文件夹是排除的,你的系统里面可能没有,没有也不用管):root@ ubuntu:~#cd /root@ ubuntu:~#tar zcvf backup.tar.gz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclu原创 2024-11-24 14:22:20 · 846 阅读 · 0 评论 -
Docker常用命令与问题
failed to read machine uuid: Failed to open “/var/lib/dbus/machine-id”或者使用“--insecure-registry 0.0.0.0/0 ”表示接受所有域名的registry。b、容器内运行的脚本,开头设置umask 0000 或 chmod 777,这样生成的文件权限为777。在docker run的时候通过--volumes-from制定挂载其他容器的挂载卷实现共享。在目录/etc/docker中新建文件daemon.json。原创 2024-11-24 14:20:47 · 658 阅读 · 0 评论 -
Dockerfile解析
对于容器而言,其启动程序就是容器应用进程,容器就是为了主进程而存在的,主进程退出,容器就失去了存在的意义,从而退出,其它辅助进程不是它需要关心的东西。在运行时可以指定新的命令来替代镜像设置中的这个默认命令,比如,ubuntu 镜像默认的 CMD 是 /bin/bash,如果我们直接 docker run-it ubuntu 的话,会直接进入 bash。每一个 RUN的行为,就和刚才我们手工建立镜像的过程一样:新建立一层,在其上执行这些命令,执行结束后,commit 这一层的修改,构成新的镜像。原创 2024-11-23 18:18:41 · 795 阅读 · 0 评论