您的位置:首页 > 文旅 > 美景 > 线上赚钱正规平台_永久免费的移动建站平台_网站排名在线优化工具_惠州seo网站管理

线上赚钱正规平台_永久免费的移动建站平台_网站排名在线优化工具_惠州seo网站管理

2024/12/23 7:42:38 来源:https://blog.csdn.net/m0_66705547/article/details/142781152  浏览:    关键词:线上赚钱正规平台_永久免费的移动建站平台_网站排名在线优化工具_惠州seo网站管理
线上赚钱正规平台_永久免费的移动建站平台_网站排名在线优化工具_惠州seo网站管理

1.docker 存储引擎

Overlay: 一种Union FS文件系统,Linux 内核3.18后支持

Overlay2:Overlay的升级版,docker的默认存储引擎,需要磁盘分区支持d-type功能,因此需要系统磁盘的额外支持。

关于 d-type 传送门 docker详解介绍+基础操作 (二)-CSDN博客

由于centos8及ubuntu1604版本均支持,其他引擎就不展开说明了

2.docker优化配置

注:新建容器有效,优化前的容器不生效

1)docker优化

优化 Docker 的配置文件(通常是 `/etc/docker/daemon.json`)可以显著提高 Docker 的性能和安全性。以下是一些详细的配置选项和解释,帮助你根据具体需求进行优化。

 ①. 存储驱动优化

 选择合适的存储驱动

Docker 使用存储驱动来管理容器的文件系统。选择合适的存储驱动可以提高性能。

 overlay2:这是默认的存储驱动,适用于大多数情况。它提供了良好的性能和较低的磁盘使用率。

{"storage-driver": "overlay2"}

devicemapper:适用于某些特定的存储设备,但性能可能不如 overlay2。

  {"storage-driver": "devicemapper"}

配置存储选项

对于 `overlay2`,可以配置一些高级选项,例如 `size` 和 `mountopt`。
 

{"storage-driver": "overlay2","storage-opts": ["overlay2.size=10G","overlay2.mountopt=nodev"]
}

overlay2.size:设置每个容器的文件系统大小限制。
overlay2.mountopt:设置挂载选项,例如 nodev可以禁用设备文件的挂载。

②. 日志驱动和日志大小限制

限制容器的日志大小可以防止日志文件占用过多磁盘空间。

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

log-driver:指定日志驱动,默认是 `json-file`。
max-size:设置每个日志文件的最大大小。
max-file:设置日志文件的最大数量。

③. DNS 配置

优化 DNS 配置可以提高容器的网络性能。

{"dns": ["8.8.8.8", "8.8.4.4"],"dns-opts": ["ndots:2", "timeout:2", "attempts:2"]
}

dns:指定 DNS 服务器地址。
dns-opts:设置 DNS 查询选项,例如 `ndots`、`timeout` 和 `attempts`。

 ④. 网络配置

优化网络配置可以提高容器的网络性能和安全性。
 

{"iptables": true,"ip-forward": true,"ip-masq": true,"userland-proxy": false,"bridge": "docker0","fixed-cidr": "172.17.0.0/16","mtu": 1500
}

iptables:启用或禁用 `iptables` 规则。
ip-forward:启用 IP 转发。
ip-masq:启用 NAT 转发。
userland-proxy:禁用用户态代理,使用内核态代理。
bridge:指定默认的网桥接口。
fixed-cidr:指定固定的 CIDR 范围。
mtu:设置最大传输单元(MTU)。

⑤. 安全配置

启用安全选项可以提高容器的安全性。

{"security-opt": ["apparmor=unconfined","seccomp=unconfined"],"cgroup-parent": "/docker-cgroups"
}

apparmor:配置 AppArmor 安全策略。
seccomp:配置 Seccomp 安全策略。
cgroup-parent:指定 cgroup 的父目录。

⑥. 资源限制

限制 Docker 守护进程的资源使用可以防止其占用过多系统资源。
 

{"default-ulimits": {"nofile": {"Name": "nofile","Hard": 65536,"Soft": 65536}},"live-restore": true
}

default-ulimits:设置默认的资源限制。
live-restore:启用实时恢复,以便在 Docker 守护进程重启时保持容器运行。

⑦. 实验性功能

启用实验性功能可以尝试新的特性和改进,但需要注意这些功能可能不稳定。
 

{"experimental": true
}

⑧. 镜像加速

使用镜像加速器可以加快镜像的下载速度。

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

registry-mirrors:指定镜像加速器的 URL。

 ⑨. 高级配置

数据根目录

指定 Docker 数据的根目录,可以提高磁盘性能。
 

{"data-root": "/mnt/docker-data"
}

data-root:指定 Docker 数据的根目录。

代理配置

配置 HTTP 和 HTTPS 代理,以便 Docker 守护进程可以通过代理访问互联网。

{"http-proxy": "http://proxy.example.com:8080","https-proxy": "https://proxy.example.com:8080","no-proxy": "localhost,127.0.0.1,.example.com"
}

http-proxy:HTTP 代理的 URL。
https-proxy:HTTPS 代理的 URL。
no-proxy:不需要通过代理访问的主机列表。

保存配置文件后,重启 Docker 服务以使更改生效。

sudo systemctl daemon-reload && systemctl restart docker

⑩开启远程连接

开启 Docker 的远程连接功能可以让你从其他机器上通过 API 或 CLI 管理 Docker 守护进程。以下是如何配置 Docker 以允许远程连接的详细步骤。

1. 修改 Docker 配置文件

Docker 的配置文件通常是 `/etc/docker/daemon.json`。你需要在这个文件中添加或修改 `hosts` 配置项,以允许远程连接。

1.1 打开配置文件

使用你喜欢的文本编辑器打开 `/etc/docker/daemon.json` 文件:

sudo vim /etc/docker/daemon.json

 1.2 添加或修改 hosts 配置

在 daemon.json 文件中添加或修改 hosts 配置项,以允许远程连接。例如,如果你想允许所有 IP 地址通过 TCP 连接到 Docker 守护进程,可以使用以下配置:
 

{"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

unix:///var/run/docker.sock:本地 Unix 套接字,用于本地连接。
-tcp://0.0.0.0:2375:允许所有 IP 地址通过 TCP 端口 2375 连接到 Docker 守护进程。

如果你只想允许特定的 IP 地址连接,可以使用以下配置:
 

{"hosts": ["unix:///var/run/docker.sock", "tcp://192.168.1.100:2375"]
}

这里 192.168.1.100 是你希望允许连接的 IP 地址。

2. 重启 Docker 服务

保存配置文件后,重启 Docker 服务以使更改生效:

sudo systemctl daemon-reload && systemctl restart docker

 3. 配置防火墙

确保防火墙允许 TCP 端口 2375 的流量。你可以使用 ufw(Uncomplicated Firewall)或其他防火墙工具来配置。

 3.1 使用 ufw

如果你使用ufw,可以运行以下命令允许端口 2375:
 

sudo ufw allow 2375/tcp

 3.2 使用 iptables

如果你使用 iptables,可以运行以下命令允许端口 2375:
 

sudo iptables -A INPUT -p tcp --dport 2375 -j ACCEPT
sudo service iptables save

4. 验证远程连接

从另一台机器上,使用 docker CLI 连接到远程 Docker 守护进程。例如,假设远程 Docker 守护进程的 IP 地址是 192.168.1.100,你可以运行以下命令:
 

docker -H tcp://192.168.1.100:2375 version

如果连接成功,你应该会看到 Docker 守护进程的版本信息。

5. 安全性考虑

开启远程连接会增加安全风险,因此建议采取以下措施:

使用 TLS 加密:配置 TLS 以加密通信,防止中间人攻击。
限制访问:只允许信任的 IP 地址访问 Docker 守护进程。
使用防火墙:配置防火墙规则,仅允许特定 IP 地址访问端口 2375。
使用认证:配置 Docker 守护进程使用认证机制,例如 HTTP 基本认证或 OAuth。

5.1 配置 TLS

1. 生成 TLS 证书和密钥:

   你可以使用 openssl`生成自签名证书和密钥:

   openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca-key.pem -x509 -days 365 -out ca.pemopenssl req -newkey rsa:4096 -nodes -sha256 -keyout server-key.pem -out server.csropenssl x509 -req -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -days 365openssl req -newkey rsa:4096 -nodes -sha256 -keyout client-key.pem -out client.csropenssl x509 -req -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -days 365

2. 配置 Docker 守护进程:

   在 /etc/docker/daemon.json 文件中添加 TLS 相关配置:

{"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],"tls": true,"tlscacert": "/path/to/ca.pem","tlscert": "/path/to/server-cert.pem","tlskey": "/path/to/server-key.pem","tlsverify": true}

3. 重启 Docker 服务:

sudo systemctl daemon-reload && systemctl restart docker

4. 从客户端连接:

   从客户端机器上,使用 TLS 连接到 Docker 守护进程:
 

 docker -H tcp://192.168.1.100:2375 --tlsverify --tlscacert=/path/to/ca.pem --tlscert=/path/to/client-cert.pem --tlskey=/path/to/client-key.pem version

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com