docker
文章平均质量分 74
ImSEten
这个作者很懒,什么都没留下…
展开
-
docker故障大全
docker故障大全故障记录故障记录1、docker pull和docker run无镜像和容器docker pull 以及docker run,看不到下载下来的镜像和启动的容器,但是去到/paasdata/docker目录下,又有对应的镜像和容器层。故障原因/var/lib/docker挂载的时间比dockerd启动时间更晚,dockerd使用docker pull和docker run命令使用的是未挂载/var/lib/docker的docker目录,而非现在挂载以后的/var/lib/原创 2022-05-16 09:46:35 · 3586 阅读 · 2 评论 -
docker源码解析(二)docker run启动容器
docker源码解析(二)docker run启动容器一、docker client端一、docker client端原创 2022-05-12 16:24:40 · 908 阅读 · 0 评论 -
docker源码解析(三)docker info
docker源码解析(二)docker info函数调用逻辑docker info函数调用逻辑dockerd端注册docker info响应函数:代码位于/moby/api/server/router/system/system.gor.routes = []router.Route{ router.NewOptionsRoute("/{anyroute:.*}", optionsHandler), router.NewGetRoute("/_ping", r.pingHandler),原创 2021-12-10 14:22:53 · 688 阅读 · 0 评论 -
docker常见故障分析
docker常见故障分析docker run故障oci runtime故障docker run故障oci runtime故障报错信息如下:docker: Error response from daemon: oci runtime error: container_linux.go:303: starting container process caused "process_linux.go:364: container init caused \"rootfs_linux.go:57: mou原创 2021-12-06 11:29:03 · 1348 阅读 · 0 评论 -
使用vscode调试docker源码
目录说明下载daemon源码使用root用户启动vscode安装docker daemon依赖的库btrfsdevmapper停止原本的docker daemon调试源码说明github各种资源的gitee官方镜像20版本的docker,daemon和client是分开了的,分别是moby项目和docker-cli项目。需要分开调试。17版本的docker,daemon和client都是moby项目,分支是17。这里以调试daemon为例。下载daemon源码在go的gopath目录下mk原创 2021-11-05 00:41:53 · 835 阅读 · 0 评论 -
linux capability详解与容器中的capability
linux capability详解capability概述查看当前用户的权限进程的权限在进程内部进行用户切换(进程内调用setuid和setgid)测试内核代码文件权限查看某个文件的权限为某个文件赋权进程创建子进程的时候的权限capability概述在许多文章中都有讲到这部分,本文不做过多解释。自行百度。capabilities(7) — Linux manual page——官方权威!!!Linux Capabilities 入门教程:概念篇——米开朗基杨Linux Capabilities原创 2021-09-29 16:47:24 · 3663 阅读 · 3 评论 -
docker使用
docker使用使用docker的user-remap功能在宿主机上创建一个普通用户查看宿主机上的所有用户信息确保宿主机上的subuid和subgid中有信息检查宿主机上是否启用了命名空间隔离修改daemon.json文件重启docker查看docker工作目录的权限归属修改新用户的工作目录所有权使用docker的user-remap功能user-remap功能是将宿主机上的指定用户,映射到docker容器内部的root用户。如果是要root映射到root,则不需要使用user-remap功能。只要没原创 2021-09-28 19:58:02 · 567 阅读 · 0 评论 -
docker无法启动(systemctl start docker失败)
docker 无法启动故障排查daemon.json配置错误hosts配置排查方法:1. 确认systemctl start docker命令流程正确。 systemctl start docker命令需要在systemctl daemon-reload命令之后运行。2. 使用命令查看systemctl status docker查看报错原因。(一般来说没啥用)3. centos使用命令cat /var/log/messages | grep docker查看真正的报错原因。4. 查对应的问题。原创 2021-09-22 16:00:24 · 10533 阅读 · 0 评论 -
docker故障排查
docker常见处理docker debugdocker 代码里面调试docker 输出进程日志docker debugdocker 代码里面调试github.com/Sirupsen/logrus将信息输出到日志文件中。logrus.Debugf()logrus.Infof()logrus.Errorf()docker 输出进程日志kill -s USR1 $(pidof dockerd)...原创 2021-09-16 09:43:23 · 508 阅读 · 0 评论 -
docker镜像构建
docker镜像构建文件系统文件系统linux操作系统由内核空间和用户空间组成。其中内核空间是kernel,对应的文件系统时bootfs,linux在刚启动的时候会加载bootfs文件系统,在启动完成以后会卸载bootfs。用户空间是rootfs文件系统,包括我们常用/etc、/proc、/bin、/dev等,如下图所示:一般镜像结构如下:在Image上还会有很多的Image。只有bootfs上面一层那个Image是base Image。(rootfs)对于任何docker镜像,其文件系统都是原创 2021-09-07 10:54:10 · 245 阅读 · 0 评论 -
docker源码解析(一)dockerd服务的启动
docker源码解析(一)main函数入口newDaemonCommand()函数runDaemon()函数Windows平台linux平台daemonCli.start()函数本文基于docker20.10.8。文中机器安装的docker代码版本为docker20.10.0。本文的计算机环境是centos-8。因此,不介绍Windows平台的docker。docker源码地址main函数入口代码位置:/moby/cmd/dockerd/docker.gofunc main() { if原创 2021-09-03 17:31:51 · 4207 阅读 · 0 评论 -
docker介绍
Docker介绍Docker是干什么的Docker架构Docker ClientDocker DaemonlibcontainerDocker是干什么的本文不介绍Docker是干什么的。请自行百度。Docker架构Docker主要模块有DockerClient, DockerDaemon, Docker Registry, Graph, Driver, libcontainer, Docker Container。Docker ClientDocker Client是客户端层,是用户主要接触的层原创 2021-09-01 10:57:18 · 88 阅读 · 0 评论