溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何通過案例學(xué)習(xí)Secret

發(fā)布時間:2021-11-19 09:26:37 來源:億速云 閱讀:127 作者:柒染 欄目:云計算

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何通過案例學(xué)習(xí)Secret,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在下面的例子中,我們會部署一個 WordPress 應(yīng)用,WordPress 是流行的開源博客系統(tǒng)。

我們將創(chuàng)建一個 MySQL service,將密碼保存到 secret 中。我們還會創(chuàng)建一個 WordPress service,它將使用 secret 連接 MySQL。這個例子將展示如何用 secret 避免在 image 中存放敏感信息,或者在命令行中直接傳遞敏感數(shù)據(jù)。

實驗步驟如下:

創(chuàng)建 secret

創(chuàng)建 secret 存放 MySQL 的管理員密碼。

openssl rand -base64 20 | docker secret create mysql_root_password -

密碼是由 openssl 生成的隨機(jī)字符串。

注意 ag7injh7juonwl09lq8st36o8 是新創(chuàng)建的 service 的 ID,而非 service 的內(nèi)容。

上面這種方式是從標(biāo)準(zhǔn)輸入讀取 secret 的內(nèi)容,也可以指定從文件中讀取,例如:

openssl rand -base64 20 > password.txtdocker secret create my_password ./password.txt

一般情況下,應(yīng)用不會直接用 root 密碼訪問 MySQL。我們會創(chuàng)建一個單獨的用戶 workpress,密碼存放到 secret mysql_password中。

openssl rand -base64 20 | docker secret create mysql_password -

創(chuàng)建自定義的 overlay 網(wǎng)絡(luò)

MySQL 通過 overlay 網(wǎng)絡(luò) mysql_private 與 WordPress 通信,不需要將 MySQL service 暴露給外部網(wǎng)絡(luò)和其他容器。

docker network create -d overlay mysql_private

創(chuàng)建 MySQL service

命令如下:

docker service create \
     --name mysql \
     --network mysql_private \
     --secret source=mysql_root_password,target=mysql_root_password \
     --secret source=mysql_password,target=mysql_password \
     -e MYSQL_ROOT_PASSWORD_FILE="/run/secrets/mysql_root_password" \
     -e MYSQL_PASSWORD_FILE="/run/secrets/mysql_password" \
     -e MYSQL_USER="wordpress" \
     -e MYSQL_DATABASE="wordpress" \
     mysql:latest

MYSQL_DATABASE 指明創(chuàng)建數(shù)據(jù)庫 wordpress。

MYSQL_USER 和 MYSQL_PASSWORD_FILE 指明創(chuàng)建數(shù)據(jù)庫用戶 workpress,密碼從 secret mysql_password 中讀取。

有關(guān) mysql 鏡像環(huán)境變量更詳細(xì)的使用方法可參考 https://hub.docker.com/_/mysql/

創(chuàng)建 WordPress service

MySQL service 已就緒,現(xiàn)在創(chuàng)建 WordPress service。命令如下:

docker service create \
     --name wordpress \
     --network mysql_private \
     --publish 30000:80 \
     --secret source=mysql_password,target=wp_db_password \
     -e WORDPRESS_DB_HOST="mysql:3306">

上述就是小編為大家分享的如何通過案例學(xué)習(xí)Secret了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI