簡體   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