一、需求
1.1 什么是docker与docker的特点
Docker 是一种开源容器化平台,它允许开发者将应用程序及其依赖打包成一个容器,这个容器可以在任何支持Docker的环境中运行。容器化是一种轻量级的虚拟化技术,与传统的虚拟机(VM)技术相比,具有几个显著的优势:
资源效率
- Docker: 容器直接运行在宿主机的操作系统上,共享宿主机的操作系统内核。它们不需要为每个应用程序加载完整的操作系统,因此占用更少的系统资源(如CPU和内存)。
- 虚拟机: 每个虚拟机都运行完整的操作系统副本,包括内核,这需要更多的资源。
启动速度
- Docker: 容器可以在几秒钟内启动,因为它们不需要加载整个操作系统。
- 虚拟机: 通常需要几分钟来启动,因为每个虚拟机都需要启动完整的操作系统。
可移植性
- Docker: 容器包括应用程序及其所有依赖,因此可以在任何Docker环境中一致运行,无论宿主机的操作系统配置如何。
- 虚拟机: 虽然也相对可移植,但通常受到更多的硬件抽象层约束。
资源隔离
- Docker: 提供了资源隔离和分配的功能,但相较于虚拟机,它的隔离级别更轻量级。
- 虚拟机: 提供了更强的隔离,因为每个虚拟机都完全独立于其他虚拟机。
存储空间
- Docker: 容器通常非常小,只包含应用程序和运行时环境,这使得镜像存储和传输更加高效。
- 虚拟机: 因为包含完整的操作系统,所以文件尺寸通常较大。
安全性
- Docker: 安全依赖于宿主机的操作系统安全,容器之间的隔离程度不如虚拟机。
- 虚拟机: 因为每个VM都是完全隔离的,所以提供了更高的安全性。
总之,Docker和其他容器化技术在资源利用率、启动速度和可移植性方面优于传统的虚拟化技术,但在隔离性和安全性方面可能不如虚拟机。根据特定的用例和需求,开发者和系统管理员可以选择最适合他们场景的技术。
1.2 docker的默认地址
docker容器的默认地址段通常是172.17.0.0/16
。这意味着Docker默认为其创建的容器网络分配了从172.17.0.1
到172.17.255.254
的IP地址。这个地址段是自动配置的,并且在大多数默认安装的Docker环境中都是这样。当您启动一个新的Docker容器时,它会被自动分配一个在这个范围内的IP地址。这个地址是容器内部网络的一部分,允许容器与宿主机器以及其他容器进行通信。需要注意的是,这个默认地址段是可以被更改的,尤其是在已经存在冲突或特定网络需求的环境中。您可以通过修改Docker的网络配置来指定不同的地址段。
二、服务器实操
2.1 停止docker服务
首先,需要停止Docker服务。可以使用以下命令:
service docker stop
2.2 修改Docker配置文件
然后,需要修改Docker的配置文件。CentOS 6.9使用的是SysVinit,因此Docker配置通常在/etc/sysconfig/docker
文件中。您需要打开这个文件并修改Docker的启动选项,指定一个新的默认地址段。例如,如果您想使用10.10.0.0/16
作为新的地址段,可以添加或修改DOCKER_OPTS
变量,如下所示:
2.3 修改之后可以直接重启服务器,或者先开启docker服务看是否有报错,一般直接重启没问题。
三、验证
修改成功