Skip to content

Blog

Docker で Redmine を起動する

以前に Redmine を docker-compose で秒殺起動する というメモを書きました。 こちらは 2019 年のメモである為、改めて現時点で最新の Redmine を起動する docker-compose.yml をメモしておきます。 尚、今回検証で利用した Redmine 5.1.1 リリースついては Redmine.JP BlogRedmine 5.1.1, 5.0.7 リリース に詳しく書かれています。

全コンテナを停止・削除する「docker purge」アップデート (v0.0.2)

以前に 全コンテナを停止・削除する docker サブコマンド「docker purge」 というメモを書きました。 考慮していなかっただけなのですが、このサブコマンドは以下の動作をしていました。

  • 起動中のコンテナは停止・削除する
  • 停止中のコンテナは何もしない (削除しない)

自分自身の利用方法ではこれが不便に感じた為、「停止中のコンテナも削除する」ように動作変更しました。 アップデート後のバイナリは下記からダウンロード出来ます。

asdf 環境の Python に pip で追加したコマンドが使えない場合の対処

asdf で Python をインストールした環境で pip を使い、CLI から実行可能なコマンドをインストールしたにも関わらず、「コマンドが使えない」という事象が発生します。 下記では例として cmlutils をインストールしていますが、インストール後に cml コマンドへのパスが通っておらず、利用出来ません。

1
2
3
4
# python3 -m pip install cmlutils
(snip)
# which cml
#

この問題は reshim を実行することで解決します。

1
asdf reshim python

これで pip でインストールしたコマンドが利用可能になりました。

1
2
# which cml
/root/.asdf/shims/cml

全ての Docker コンテナを停止・削除する Python スクリプト

以前に 全コンテナを停止・削除する docker サブコマンド「docker purge」 というメモを書きました。 このメモでは Docker のプラグインとして golang で purge というコマンドを作成しました。 Python から Docker を扱うのも簡単なので、今回は Python で同じ目的のスクリプトを書いてみました。

macOS で絵文字パレットの表示を無効化する

macOS の標準では「絵文字パレットを表示する」ショートカットは Cmd+Ctrl+Space に割り当たっています。

file

このショートカットを押すことで以下のような絵文字パレットが表示されます。

file

ただ、私の場合はほぼ絵文字を利用しない為、「稀に、誤操作で絵文字パレットが表示されてしまう」ことが煩わしく感じる場合があります。 そこで今回は絵文字パレットを表示を無効化してしまいます。

Terraform + CML でノードのコンフィグは外部ファイルを参照する

Terraform で CML 上にラボを作成する際、同時に「ノードにコンフィグを流し込む」ことが可能です。 Terraform からノードへ設定を行うには cml2_node (Resource) の configuration を使います。 更にこの流し込むコンフィグを外部ファイルから参照したい場合は Terraform の file Function を利用することで実現出来ます。

但し、file Function を使って外部ファイルを参照させても CML Provider のバグなのか、以下のエラーになってしまいました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cml2_node.dev1: Creating...
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to cml2_node.dev1, provider
│ "provider[\"registry.terraform.io/ciscodevnet/cml2\"]" produced an unexpected new value:
│ .configuration: was cty.StringVal("hostname dev1\r\n!\r\nend"), but now cty.StringVal("hostname
│ dev1\n!\nend").
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

このエラーは「外部ファイルの改行コードを (CRLF では無く) LF に設定する」ことで回避することが出来ました。