当前位置: 首页 > news >正文

Docker学习笔记-docker安装、删除

一、在centOS 7中docker的默认安装目录

# Docker 主配置文件目录
ls /etc/docker# Docker 数据目录(镜像、容器、卷等)
ls /var/lib/docker# Docker 可执行文件路径
which docker  # 输出类似 /usr/bin/docker

二、docker文件目录说明

目录/文件用途
/etc/docker/daemon.jsonDocker 守护进程配置文件
/var/lib/dockerDocker 数据存储(镜像、容器、网络等)
/usr/bin/dockerDocker 客户端命令行工具
/run/docker.sockDocker 守护进程通信的 Unix 套接字

三、daemon.json文件介绍

daemon.json 是 Docker 守护进程(dockerd)的核心配置文件,用于全局设置 Docker 的运行时参数。通过该文件,您可以自定义 Docker 的默认行为,例如镜像加速、日志驱动、存储配置、网络设置等。

1、镜像仓库配置
指定私有镜像仓库地址或配置镜像加速(如阿里云、Docker 官方镜像源):

{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}

2、日志驱动与配置
定义容器日志的存储驱动(如 json-file、syslog)及日志轮换策略:

{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"}
}

3、存储驱动设置
选择容器和镜像的存储驱动(如 overlay2、devicemapper):

{"storage-driver": "overlay2"
}

4、网络配置
定义默认的容器网络模式或 DNS 设置:
 

{"dns": ["8.8.8.8", "8.8.4.4"],"default-address-pools": [{"base": "10.10.0.0/16", "size": 24}]
}

5、安全策略
配置用户组权限或启用 TLS 加密通信:

{"userns-remap": "default","tls": true,"tlscacert": "/etc/docker/ca.pem"
}
  • 国内镜像加速:配置 registry-mirrors 提升拉取镜像速度。
  • 日志管理:限制容器日志大小,防止磁盘占满。
  • 安全隔离:通过 userns-remap 将容器进程映射到独立用户命名空间。
  • 多环境适配:为开发、测试环境配置不同的默认网络或资源限制。

四、移除旧版本docker

1、移除命令

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2、报错解决:

如果遇到下面的报错的卸载失败问题是由于包名不匹配导致的。在 CentOS 7 中,Docker 的包名可能与您尝试卸载的名称不同。

解决方法:

1. 确认已安装的 Docker 包

首先列出所有已安装的 Docker 相关包:

rpm -qa | grep -i docker
# 或
yum list installed | grep -i docker

常见的 Docker 包名可能是:

  • docker-ce(社区版)
  • docker-ee(企业版)
  • docker-engine(旧版)

2. 使用正确的包名卸载

根据上一步的结果,使用实际包名卸载。例如:

curl -fsSL https://get.docker.com/ | sudo sh -s -- --uninstall

3. 尝试官方卸载脚本(可选)

如果通过 Docker 官方脚本安装,可使用其提供的卸载脚本:

curl -fsSL https://get.docker.com/ | sudo sh -s -- --uninstall

 4. 手动清理残留文件

如果卸载后仍残留文件,手动删除:

# 删除 Docker 数据目录(谨慎操作!)
sudo rm -rf /var/lib/docker# 删除配置文件
sudo rm -rf /etc/docker# 删除 systemd 服务文件
sudo rm -f /usr/lib/systemd/system/docker.service
sudo rm -f /usr/lib/systemd/system/docker.socket

5. 验证卸载

重启系统后检查 Docker 是否彻底删除:

which docker  # 应无输出
docker --version  # 应提示命令未找到

五、安装docker

1、测试环境,vm虚拟机,centOS 7.9;

2、配置docker yum源:

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装 最新 docker,ce安装的是社区版本:

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4、 启动& 开机启动docker; enable + start 二合一

systemctl enable docker --now

5、# 配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://docker.m.daocloud.io"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

6、验证安装,检查 Docker 版本和运行状态:

docker --version
systemctl status docker

相关文章:

  • 单片机任意普通IO引脚使用定时器扩展外部中断的巧妙方法
  • 如何撤回刚提交的 commit
  • 在交换机上划分VLAN并配置IP地址的完整指南
  • C数据结构--顺序表
  • 【Linux】41.网络基础(2.3)
  • SQL 查询中 ORDER BY 的执行顺序
  • 30学Java第十天——类加载的过程
  • **searchProperties 是什么,python中**是什么:解包字典的操作符
  • camx的xml解析
  • 【跳坑日记】Jetson 6.2 编译cuda-sample报错:No CMAKE_CUDA_COMPILER could be found
  • java android持久化数据
  • c#内存泄露的原因和解决办法
  • 全新电脑如何快速安装nvm,npm,pnpm
  • 批量将文件夹名称、文件夹路径提取到 Excel 清单
  • git在IDEA中使用技巧
  • RabbitMQ消息的可靠性
  • 腾讯云golang一面
  • Project ERROR: liblightdm-qt5-3 development package not found问题的解决方法
  • 基于 Python 和 OpenCV 技术的疲劳驾驶检测系统(2.0 全新升级,附源码)
  • 双向链表中间插入节点,删除节点
  • 乘联分会:上半年车市价格竞争温和,下半年价格战或再开启
  • 均价19.5万元/平米!上海徐汇滨江地王项目“日光”,销售额近70亿元
  • 10名“鬼火少年”凌晨结队在城区飙车,警方:涉非法改装,正处理
  • 技术派|巴基斯坦导弹:让印度保持克制的“定海神针”?
  • 伊朗外长称正与美国进行“善意”的会谈
  • 呼和浩特推进新一轮国企重组整合:杜绝一项目一公司、一业务一公司