docker安全
docker安全
FAQ
📍 注意:容器和宿主机使用同一个内核,所以性能损耗小。但可能存在一定的安全隐患
这样的话,可能有一个安全隐患。
有可能如果在容器里修改了内核配置,但会导致宿主机上的内核配置发生变化。
--疑问:现在真的会发生这种情况吗?应该不会了吧?==>会的,特别要注意。因为他们共享的是同一个内核
案例:docker起容器加上一个-p 127.0.0.1:宿主机端口:容器端口吧
2024年9月20日测试。
背景
我自己的nginx配置:
群主建议:
gpt
docker里 -p 127.0.0.1:1081:80是什么意思?
在 Docker 中,-p 127.0.0.1:1081:80
是一个用于端口映射的选项,具体含义如下:
解释
-p
:这是 Docker 命令中的参数,用于指定端口映射。127.0.0.1:1081
:这是主机上的 IP 地址和端口号。127.0.0.1
是本地回环地址,表示仅允许本地机器访问。1081
是主机上要映射的端口号。
80
:这是 Docker 容器内部的端口号,表示容器中运行的应用程序正在监听这个端口。
整体含义
这个命令的意思是将 Docker 容器内的 80 端口(通常是用于 HTTP 服务的默认端口)映射到主机的 1081 端口。这样,只有在主机上通过 http:services:web:image:your_image_nameports:- "127.0.0.1:1081:80"
解释
version:'3'
:这是 Docker Compose 文件的版本。services
:定义一组服务。web
:服务的名称,可以自定义。image
:你要使用的 Docker 镜像。ports
:这里定义了端口映射。"127.0.0.1:1081:80"
:这表示将主机的1081
端口映射到容器的80
端口,并且只允许从127.0.0.1
访问。
启动服务
在定义好 docker-compose.yml
文件后,可以使用以下命令启动服务:
docker-composeup
总结
通过在 docker-compose.yml
文件中指定 "127.0.0.1:1081:80"
,你可以确保只有本地机器能够访问 Docker 容器中的服务。确保在保存和运行文件之前,Docker Compose 已经安装并配置好。
测试
- 重新配置自己matchete内容:
重启容器:
- 配置自己nginx内容
cd/etc/nginx/conf.d/viphoto.conf#将公网ip改成127.0.0.1
重启nginx:
nginx -s reload
- 测试效果
清空浏览器缓存:
可以发现,此时通过域名访问是正常的,通过公网ip:端口就是有问题的。(nice😉)