zaki work log

作業ログやら生活ログやらなんやら

Docker

セルフホスト版GitLabの初期パスワード未設定時の設定方法が変わっていたのでメモ

年末にGitLabのコンテナレジストリが必要になったので久しぶりにローカルに新しくver16.6をDocker Composeで構築したら、初回アクセス時のrootの初期パスワード設定を行う画面が表示されることなくログイン画面に遷移してどうすればよいかわからず戸惑ったた…

[Ansible / AAP / AWX] EEのコンテナイメージ作成にAnsible Builderは必ずしも必要ないかを確認してみた (小ネタ)

AAPやAWXでジョブ実行に必要なExecution Environments(EE)を作るために通常はAnsible Builderを使ってコンテナイメージをビルドするが、要件を満たせばDockerfileを直接書いて自前でビルドしても動くのでは…と思ったので確認してみた。 結論としては、以下が…

[Ansible / K3s] 2023年版AWXクイックインストールガイド

本エントリは、Ansible Advent Calendar 2023の6日目の記事になります。 AWXのセットアップがDocker ComposeからKubernetes環境になって手を出しづらくなったとか、インストール方法がわかりづらいなどの声を観測範囲で聞くことがあったので、ローカル環境で…

GitHub ActionsとAnsible BuilderでExecution Environmentコンテナイメージの自動ビルド

周りでGitLab Runnerを使ったExecution Environmentの自動ビルドが急に流行りだしたので、GitHub Actionsを使った自動ビルドを試してみた。 Ansibleの実行環境がコンテナ化し、その定義ファイルとしてexecution-environment.ymlに内容を記述できるようになっ…

[Kubernetes] 軽量ディストリビューションk3sのコンテナ版の紹介

本記事は「エーピーコミュニケーションズ Advent Calendar 2022」の21日目のエントリです。 軽量Kubernetesディストリビューションの一つにk3sというものがあります。 以下のコマンドで簡単にクラスタをデプロイでき、少ないリソースで動作し、プラットフォ…

(作業ログ) RHEL 8.5へのDocker 20.10インストール

諸事情でRHELでPodmanでなくDockerを使う必要があったため、インストールした時の作業ログ。 状況 環境 手順 Dockerのインストール 古いバージョンの削除 リポジトリのセットアップ Dockerのインストール Dockerの開始 動作確認 状況 RHELの公式パッケージに…

Docker版GuacamoleでSSH接続の日本語対応 (Debianイメージへの日本語フォント追加)

前夜まとめたDockerコンテナでデプロイした素のGuacamoleは、SSH接続しても日本語の表示や入力が文字化けする。 zaki-hmkc.hatenablog.com 今回はこの対応。 といっても先に結論を書くと、guacdコンテナに日本語フォントを追加すればOK 日本語フォント入りイ…

Apache Guacamoleを使ってwebブラウザでSSH接続をお試し (Docker版)

ネットワークの制限でwebアクセス(HTTP/HTTPS)しか許可されておらず、SSHアクセスが使えないような環境でリモートのLinuxサーバーのシェルへアクセスしたい場合、Apache Guacamoleを使うことでwebブラウザの画面でSSHログインを行う。(webページ内にSSHアク…

[Ansible / Docker / K3s] AWX 20.0.0をarm64環境でビルド&デプロイするplaybook

AWXはamd64向けのイメージしか提供されてないので、Oracle CloudのAlways Free枠で使用できる4コア・RAM24GBのA1.FlexインスタンスのようなARMアーキテクチャの環境ではそのままでは利用できません。 イメージをARM環境でリビルドしてやれば動作するので、さ…

[Oracle Linux] arm64アーキテクチャのA1.FlexのVMでDocker版NetBoxをビルド&デプロイする (Ubuntu / Oracle Linux)

Oracle Cloudで無料で使えるA1.FlexシェイプのVM(arm64アーキテクチャ)でNetBoxをDockerでデプロイしてみました。 NetBoxのコンテナイメージはamd64版しか公開されていないため、arm64アーキテクチャでコンテナ版をデプロイするには、自前でビルドする必要が…

Docker PluginとしてDocker Compose (v2) のインストールとお試し実行 (arm64 / Oracle Cloud A1.Flex)

気が付いたらCompose v2がリリース版になってました。 github.com これまでのようにdocker-composeコマンド単体でなく、Docker Pluginとして利用する形式になっています。 あとv1系のときはx86_64のバイナリしかなかったけど、arm64やs390xのバイナリも配布…

[Oracle Cloud/A1.Flex] armアーキテクチャのLinuxへpipでDocker Composeインストール

Oracle CloudのA1.Flexのように、aarch64/arm64のアーキテクチャへのDocker本体のインストールは以下のとおり公式の手順で(ディストリビューションが対応してれば)インストールできる。 zaki-hmkc.hatenablog.com ただし、Docker Composeについては公式で配…

[Oracle Cloud] 無料枠のA1.FlexのコンピュートインスタンスにDockerインストール (Ubuntu/Oracle Linux)

少し前に比べると、最大で4CPUs・RAM24GBまで無料で使用できるA1.Flexのコンピュートインスタンス(VM)を作成しやすくなったのでお試し。 結論から言うとVMのイメージはUbuntuであれば問題なし。 Oracle Linuxの場合はデフォルトの7.9より8の方が手間は無い。…

Debian11(Bullseye)でRootless Dockerインストールしてコンテナをデプロイ

Debian10では依存パッケージのバージョンが古くてインストールできなかったルートレスDocker、先々週リリースされたDebian11ではパッケージバージョンが新しくなって全て要件を満たしていたので試してみた。 docs.docker.com Deiban10だとうまくいかないパタ…

[Ansible / Podman] もうこのぉ、venvを使った実行環境は終わりだ (Ansible RunnerとAnsible Builderお試し)

トキメk…じゃなくてAnsible RunnerやAnsible Builderの話で、Ansibleとコンテナ環境の話題がとても盛り上がってるところに乗り遅れつつある*1ので、マイペースに動作確認してみた作業ログ。 コンテナの中身寄り情報あり。 環境 Ansible Builder インストー…

[Docker Compose] cpu / memory / ログサイズの制限を指定する

元ネタはこちら。 zaki-hmkc.hatenablog.com zaki-hmkc.hatenablog.com 元ネタではDocker(dockerコマンド)単体で制限設定を行ってましたが、同じことをDocker Compose (v3)で指定する場合はどうするかについて。 docs.docker.com cpu / memory deploy/resour…

[NetBox] 最新のfeatureブランチでDockerビルドしてコンテナとしてデプロイする

NetBoxの機能でまだリリースはされていないけどfeatureブランチには実装済みの新しい機能を試してみたい場合、feature版のコンテナイメージは用意されてないためOS上に素で構築する必要があるが、それよりはfeature版コンテナイメージを手元でビルドした方が…

Rootless modeのDockerをUbuntu 20.04へインストール (Debian 10では依存パッケージ不足で失敗)

DockerのRootless modeのセットアップを試してみた。 設定すればデフォルトではroot権限が必要なDockerを一般ユーザーでも使えるモードで動作させることができる。 現在はDockerをパッケージインストールすると、Rootless mode用のセットアップスクリプトも…

[Docker / Docker Compose] コンテナのIPアドレスを固定する方法

以前「コンテナ若葉マーク」で「コンテナ環境ではIPアドレスじゃなくてコンテナ名を使って通信しろ!(IPアドレスは意識するな!)」みたいなことを話したりしたことあったんですが、何らかの理由でコンテナ名(ホスト名)でなくIPアドレスを使って(イコールIPア…

[NetBox] NetBox(v2.10.3 → v2.10.4)とnetbox-docker(0.27.0 → 1.0.2)のアップグレード

Docker ComposeでデプロイしたNetBoxをバージョンアップする。 基本的には「動作中NetBoxを停止 -> Composeファイルを(リポジトリごと)更新 -> 新バージョンNetBoxを起動」で良いが、更新内容によっては追加手順があるのでここ最近のバージョンから最新安定…

[ssh / docker / kubectl] ローカルの標準出力をリモートの標準入力にする

sshやdocker exec、kubectl execで、シェルを起動せずに直接コマンドを実行できるが、sshなどを実行するローカルの標準出力をリモートホストやコンテナの標準入力として処理する方法について。 SSHの場合 前提。 ローカルのhostnameはcloud-devで、リモート…

[Python] datetime.strptime()を使った文字列からdatetimeオブジェクトへの変換とタイムゾーン

Pythonでは日付を表す文字列からdatetime型のオブジェクトへの変換にstrptime()を使用できる。 例えば'Thu Feb 11 17:01:34 2021'という文字列があった場合、'%a %b %d %H:%M:%S %Y'というフォーマット文字列を用意することでオブジェクトにできる。 なお、A…

Docker版NetBoxを導入してIPアドレス管理台帳.xlsxに別れを告げる

オンプレ環境だと必ずと言っていいほど存在する「エクセルのIPアドレス管理台帳」、なんやかやで私も自宅の環境でもスプレッドシート(Excelではない笑)に記入しつつ運用してました。 で、業務で最近NetBoxというアドレス管理などを行うIPAMツールを使うこと…

Arista EOSのcEOS-labコンテナでSNMPサーバー(SNMPエージェント)

とある作業でSNMP接続を試したかったけど手持ちの環境でSNMPサーバーが無かったので、Arista EOSのコンテナ版cEOS-labでSNMPサーバーを有効にして外部SNMPマネージャー(snmpwalk)から値を取得できるようにしてみた。 Linuxサーバーに入れても良かったけど、…

Windows 10 homeにDocker Desktopを入れてみたらすっごい簡単にセットアップできたという話

インストール前にHyper-VやらWSLやらを有効にする必要ナシ。 Dockerのインストーラが自動でやってくれます。 そしてhomeエディションもサクッとインストールできます。 qiita.com というのをDockerアドベントカレンダーとしてQiitaに書きました。 なるほどね…

GitLab CE on Docker Compose (HTTPS + Container Registry + Runner)でSSH設定してなかったので追加

GitLab CE on Docker(Docker Compose)のSSH設定について。 SSHといっても、GitLabサーバーのメンテナンスに使うのでなく、GitリポジトリのSSHアクセスに使用するためのもの。(シェルログインには使用しない) ベースはこちら zaki-hmkc.hatenablog.com docs.g…

[Ansible] Arista EOSのcEOS-labコンテナにAnsibleでeos_factsするまでいろいろハマったこと

一昨日つくったcEOS-labコンテナにAnsibleのeosモジュール使ってアクセスする。 使うモジュールはひとまず情報収集のeos_factsを使用。 zaki-hmkc.hatenablog.com ネットワーク初心者の自分にはハマりポイントが大量にあったので色々と備忘録。 ポイントは「…

[Ansible] Connectionプラグインを使ってDockerコンテナを対象に接続・処理する

2021.05.23、docker_container_execモジュールについて追記 Ansibleの処理対象としてDockerコンテナを指定する。 sshを使用しないので、接続先(=コンテナ内)でsshサーバーは不要だけど、コンテナ内にPythonは必要。 お試しということで、Python:3イメージを…

Arista EOSの検証用コンテナcEOS-labで"Cli"コマンドを叩けるか試した

cEOS-labコンテナを動かしてその先でいろいろ動かしてみるはずが、動かすかどうかでつまづいてしまったのでその作業ログを。 ※ Cliコマンドとか分かってないので、動かし方を分かってない。 ※ コンテナ自体は動いているので、Cli以外の方法で触るものだろう…

[Docker]コンテナ実行時にlog-optsでログサイズ上限とローテート数を設定してホストのストレージが溢れないようにする

コンテナのお作法として、アプリのログはstdoutへ出力することで、Dockerのロギング機能に任せることができる。 ただし、Dockerのデフォルトだとサイズ制限は無いので、上限設定を行っていないとホストのストレージを使い切ってしまうので注意。 逆に言うと…