ローカル環境のDocker Hubのパスワードをpassで管理する方法
Apr 23, 2019
Ubuntu用
- なぜDocker Hubのパスワードをpassを使って管理するか?
- ローカルからDocker Hubにログインすると, その時のパスワードを平文のまま保存されるから.
- ここから
docker-credential-pass
の最新バージョンをダウンロードする. tar -zxvf docker-credential-pass.tar.gz
(解凍する.)mv docker-credential-pass /usr/local/bin
(PATHが通ってるところにファイルを移動する.)sudo apt-get install gpg pass
( gpgと passをインストール.)gpg --generate-key
で新しい秘密鍵と公開鍵の組を作る.gpg --list-keys
で出てきた, pubの16進数の40文字(大文字のA-F, 0-9の文字列)をコピーする.pass init AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDD
でpassを初期化する.pass insert docker-credential-helpers/docker-pass-initialized-check
でとりあえずのディレクトリを作成する.docker-credential-pass list
で{}
と返ってくる.~/.docker/config.json
に{"credsStore": "pass"}
と書き込む.docker login
でDockerにログインする.
うまくいかないときは権限を
chmod
を使って変更してみる.
curl -O https://github.com/docker/docker-credential-helpers/releases/download/v0.6.0/docker-credential-pass-v0.6.0-amd64.tar.gz
tar -xvf docker-credential-pass.tar.gz
mv docker-credential-pass /usr/local/bin
apt-get install gpg pass
gpg --generate-key
gpg --list-keys
> pub rsa2048 2019-04-22 [SC] [有効期限: 2021-04-21]
> D7D35B60A7FA571541959AF3C4821C32793D5F5A // ここの公開鍵をコピーする
> uid [ 究極 ] solareenlo <test@example.com>
> sub rsa2048 2019-04-22 [E] [有効期限: 2021-04-21]
pass init D7D35B60A7FA571541959AF3C4821C32793D5F5A // 上記でコピーした公開鍵をペーストする
pass insert docker-credential-helpers/docker-pass-initialized-check // ここで入力するパスワードは初期化されるので何でも良い.
pass show docker-credential-helpers/docker-pass-initialized-check // 先ほど入力したパスワードが表示される
docker-credential-pass list
vim ~/.docker/config.json
// {
// "credsStore": "pass"
// }
/* と~/.docker/config.jsonに書き込む. */
docker login