Skip to content

docker安全

docker安全

FAQ

📍 注意:容器和宿主机使用同一个内核,所以性能损耗小。但可能存在一定的安全隐患

这样的话,可能有一个安全隐患。

有可能如果在容器里修改了内核配置,但会导致宿主机上的内核配置发生变化。

--疑问:现在真的会发生这种情况吗?应该不会了吧?==>会的,特别要注意。因为他们共享的是同一个内核

案例:docker起容器加上一个-p 127.0.0.1:宿主机端口:容器端口吧

2024年9月20日测试。

image-20240920123113910

背景

我自己的nginx配置:

image-20240920121216686

群主建议:

image-20240920121259616

image-20240920121317352

image-20240920121411460

image-20240920121444687

image-20240920121525536

image-20240920121601829

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文件后,可以使用以下命令启动服务:

bash
docker-composeup

总结

通过在 docker-compose.yml文件中指定 "127.0.0.1:1081:80",你可以确保只有本地机器能够访问 Docker 容器中的服务。确保在保存和运行文件之前,Docker Compose 已经安装并配置好。

测试

  • 重新配置自己matchete内容:

image-20240920122810675

重启容器:

image-20240920122830747

  • 配置自己nginx内容
bash
cd/etc/nginx/conf.d/viphoto.conf#将公网ip改成127.0.0.1

image-20240920123000377

重启nginx:

nginx -s reload

  • 测试效果

清空浏览器缓存:

可以发现,此时通过域名访问是正常的,通过公网ip:端口就是有问题的。(nice😉)

https:

版权:此文章版权归 One 所有,如有转载,请注明出处!

链接:可点击右上角分享此页面复制文章链接

上次更新时间:

最近更新