繁体   English   中英

sql转储是否被加密到docker容器docker-entrypoint-initdb.d中?

[英]Are sql dumps moved into docker container `docker-entrypoint-initdb.d` encrypted?

我正在将数据库转储到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 run它并在那里查看文件。 如果您一直在寻找一个具有系统根访问权限的文件,则可以在/var/lib/docker轻松找到它。 他们还可以轻松地运行docker history来查看您设置的数据库根密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM