gpt4 book ai didi

mysql - 移入 docker 容器 `docker-entrypoint-initdb.d` 的 sql 转储是否已加密?

转载 作者:行者123 更新时间:2023-11-29 06:39:40 25 4
gpt4 key购买 nike

我正在将数据库转储到 SQL 转储中:

docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -ppassword' > all-databases.sql

然后我使用 Dockerfile 构建 mysql 镜像并作为容器运行:

FROM mysql:5.6.41

# needed for intialization
ENV MYSQL_ROOT_PASSWORD=whateverPassword

ADD all-databases.sql /docker-entrypoint-initdb.d/

EXPOSE 3306

当我运行容器时,如果我执行到容器中,我可以访问 all-databases.sql 文件并在 Docker 镜像中以纯文本形式查看数据库的内容吗?

目前,如果我查看 /docker-entrypoint-initdb.d/,它会显示 all-databases.sql,但我不知道该文件存储在哪里/是否已加密。

最佳答案

如果您docker exec进入容器,该文件将不会加密。 (这只是一个文本文件,您可以在大多数图像基础上使用 more 查看它。)

但是,如果您可以运行任何 Docker 命令,那么通常在系统上获得不受限制的 root 访问权限是微不足道的。 (考虑使用 docker run -v/etc:/host-etc 将自己添加到/etc/sudoers 或允许 root 无需密码登录。)

另请记住,任何拥有该镜像的人都可以docker运行它并查看其中的文件(如果这对您的安全问题很重要)。如果您正在寻找系统上具有 root 访问权限的单个文件,您可以在 /var/lib/docker 中轻松找到它。他们还可以轻松运行docker History来查看您设置的数据库根密码。

关于mysql - 移入 docker 容器 `docker-entrypoint-initdb.d` 的 sql 转储是否已加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52337135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com