<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker-Compose on ポンコツ地方エンジニアの技術ブログ</title><link>https://blog.ponkotools.com/tags/docker-compose/</link><description>Recent content in Docker-Compose on ポンコツ地方エンジニアの技術ブログ</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Mon, 12 Sep 2022 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.ponkotools.com/tags/docker-compose/index.xml" rel="self" type="application/rss+xml"/><item><title>docker-compose のアップデート方法</title><link>https://blog.ponkotools.com/posts/2022/09/12/docker-compose/</link><pubDate>Mon, 12 Sep 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/09/12/docker-compose/</guid><description>&lt;p&gt;apt でインストールした docker-compose のバージョンが古いので、手動でアップデートする方法です。&lt;/p&gt;
&lt;p&gt;docker-compose のリリースビルド一覧は以下で確認できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/docker/compose/releases" target="_blank" rel="noopener"
 &gt;https://github.com/docker/compose/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 現在インストールされている docker-compose をアンインストール&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;remove&lt;/span&gt; &lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# カーネル名を小文字にするため一度変数 kernel に代入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;kernel&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;uname&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ダウンロード&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;wget&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;O&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;github&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;releases&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;download&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;v2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;10.2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt;&lt;span class="o"&gt;-$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;kernel&lt;/span&gt;&lt;span class="p"&gt;,,}&lt;/span&gt;&lt;span class="o"&gt;-$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;uname&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 実行権限の付与&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;chmod&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一応これで intel 系と arm 系で上手くいくことは確認しました。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/docker/compose/releases" target="_blank" rel="noopener"
 &gt;https://github.com/docker/compose/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-compose.yml での環境変数の参照とデフォルト値の設定</title><link>https://blog.ponkotools.com/posts/2022/07/01/docker-compose/</link><pubDate>Fri, 01 Jul 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/07/01/docker-compose/</guid><description>&lt;p&gt;公式ドキュメントを見ていろいろ設定方法があることを知ったのでメモです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.docker.com/compose/compose-file/#interpolation" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/compose/compose-file/#interpolation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下、ほぼ訳しただけです。&lt;/p&gt;
&lt;h2 id="環境変数の参照"&gt;&lt;a href="#%e7%92%b0%e5%a2%83%e5%a4%89%e6%95%b0%e3%81%ae%e5%8f%82%e7%85%a7" class="header-anchor"&gt;&lt;/a&gt;環境変数の参照
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;$VARIABLE&lt;/code&gt; または &lt;code&gt;${VARIABLE}&lt;/code&gt; で参照できます。&lt;br&gt;
もし &lt;code&gt;VARIABLE&lt;/code&gt; が定義されていなければ、空文字に置換されます。&lt;/p&gt;
&lt;h2 id="補間-interpolation"&gt;&lt;a href="#%e8%a3%9c%e9%96%93-interpolation" class="header-anchor"&gt;&lt;/a&gt;補間 (interpolation)
&lt;/h2&gt;&lt;p&gt;以下のようにして、環境変数が設定されていない場合のデフォルト値を指定できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;${VARIABLE:-default}&lt;/code&gt; とすると、環境変数 &lt;code&gt;VARIABLE&lt;/code&gt; が定義されていないか空の場合に &lt;code&gt;default&lt;/code&gt; に置換されます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;${VARIABLE-default}&lt;/code&gt; とすると、環境変数 &lt;code&gt;VARIABLE&lt;/code&gt; が定義されていない場合に &lt;code&gt;default&lt;/code&gt; に置換されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;同様に、以下のように必須変数を指定できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;${VARIABLE:?err}&lt;/code&gt; とすると、環境変数 &lt;code&gt;VARIABLE&lt;/code&gt; が定義されていないか空の場合にエラーとなります。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;${VARIABLE?err}&lt;/code&gt; とすると、環境変数 &lt;code&gt;VARIABLE&lt;/code&gt; が定義されていない場合にエラーとなります。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="yaml-のアンカーエイリアス機能"&gt;&lt;a href="#yaml-%e3%81%ae%e3%82%a2%e3%83%b3%e3%82%ab%e3%83%bc%e3%82%a8%e3%82%a4%e3%83%aa%e3%82%a2%e3%82%b9%e6%a9%9f%e8%83%bd" class="header-anchor"&gt;&lt;/a&gt;yaml のアンカー/エイリアス機能
&lt;/h2&gt;&lt;p&gt;以下の記事で初めて知ったのですが、&lt;code&gt;x-&lt;/code&gt; で始まるキーを書くことで、docker-compose で無視されるようになるそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://techracho.bpsinc.jp/hachi8833/2020_02_07/87447" target="_blank" rel="noopener"
 &gt;https://techracho.bpsinc.jp/hachi8833/2020_02_07/87447&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.docker.com/compose/compose-file/#interpolation" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/compose/compose-file/#interpolation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/JhonnyBravo/items/588bf82dcd34c081e326" target="_blank" rel="noopener"
 &gt;https://qiita.com/JhonnyBravo/items/588bf82dcd34c081e326&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://techracho.bpsinc.jp/hachi8833/2020_02_07/87447" target="_blank" rel="noopener"
 &gt;https://techracho.bpsinc.jp/hachi8833/2020_02_07/87447&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-compose.yml で HOSTNAME が参照できない？</title><link>https://blog.ponkotools.com/posts/2022/06/30/docker-compose/</link><pubDate>Thu, 30 Jun 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/06/30/docker-compose/</guid><description>&lt;p&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt; で &lt;code&gt;$HOSTNAME&lt;/code&gt; と記述すると以下のようなエラーが表示され、かなりはまってしまいました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The HOSTNAME variable is not set. Defaulting to a blank string
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ubuntu では &lt;code&gt;HOSTNAME&lt;/code&gt; が export されていないそうなので、環境変数として参照できないようです。&lt;br&gt;
どうやらかなり昔からの仕様のようですが、Ubuntu 20.04 でも状況は変わっていません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://ubuntuforums.org/archive/index.php/t-898924.html" target="_blank" rel="noopener"
 &gt;https://ubuntuforums.org/archive/index.php/t-898924.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;私は誤解していましたが、&lt;code&gt;HOSTNAME&lt;/code&gt; は環境変数ではなくシェル変数です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/blueskyarea/items/7e8bd6efcc538746a569" target="_blank" rel="noopener"
 &gt;https://qiita.com/blueskyarea/items/7e8bd6efcc538746a569&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.linux-beginner.com/linux_kihon170.html" target="_blank" rel="noopener"
 &gt;http://www.linux-beginner.com/linux_kihon170.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そして、export されていないから環境変数として yml からは参照できないと。&lt;br&gt;
なので、以下のようにすれば参照できるようになります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;export&lt;/span&gt; HOSTNAME &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; docker-compose up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;毎回 export するのが面倒な場合は &lt;code&gt;.bashrc&lt;/code&gt; に書いておくのがいいかもしれません。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://ubuntuforums.org/archive/index.php/t-898924.html" target="_blank" rel="noopener"
 &gt;https://ubuntuforums.org/archive/index.php/t-898924.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/blueskyarea/items/7e8bd6efcc538746a569" target="_blank" rel="noopener"
 &gt;https://qiita.com/blueskyarea/items/7e8bd6efcc538746a569&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.linux-beginner.com/linux_kihon170.html" target="_blank" rel="noopener"
 &gt;http://www.linux-beginner.com/linux_kihon170.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Docker コンテナ内から Docker コマンドを使う</title><link>https://blog.ponkotools.com/posts/2022/05/26/docker/</link><pubDate>Thu, 26 May 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/05/26/docker/</guid><description>&lt;p&gt;Docker コンテナ内のアプリケーションから Docker コンテナの操作をしたかったので、やってみました。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Docker 20.10.12&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dind-と-dood"&gt;&lt;a href="#dind-%e3%81%a8-dood" class="header-anchor"&gt;&lt;/a&gt;DinD と DooD
&lt;/h2&gt;&lt;p&gt;Docker コンテナ内から Docker を扱う方法としては以下の２つがあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DinD: Docker in Docker
&lt;ul&gt;
&lt;li&gt;Docker コンテナの中で Docker デーモンを動かす&lt;/li&gt;
&lt;li&gt;コンテナの中にコンテナを作成したりできる&lt;/li&gt;
&lt;li&gt;非推奨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DooD: Docker outside of Docker
&lt;ul&gt;
&lt;li&gt;ホストの docker.sock をコンテナにマウントし、Docker デーモンを共有する&lt;/li&gt;
&lt;li&gt;ホスト上の Docker コンテナを操作できる&lt;/li&gt;
&lt;li&gt;基本的にこちらを使う&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここらへん以下のページが分かりやすかったです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/YukiMiyatake/items/2e68aa69a5ca3921d55d" target="_blank" rel="noopener"
 &gt;https://qiita.com/YukiMiyatake/items/2e68aa69a5ca3921d55d&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DinD は Docker の開発用途のためのものらしく、セキュリティリスクなどもあることから非推奨で、基本的には DooD のほうを使うべきだそうです。&lt;br&gt;
今回の用途的にも DooD のほうなので、DooD を試してみました。&lt;/p&gt;
&lt;h2 id="dood-サンプル"&gt;&lt;a href="#dood-%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;DooD サンプル
&lt;/h2&gt;&lt;p&gt;ググってみると以下のようなサンプルが多いです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker run -it -v /var/run/docker.sock:/var/run/docker.sock docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;確かにこれでコンテナ内で docker コマンドが使えました。&lt;br&gt;
この場合では &lt;code&gt;docker&lt;/code&gt; という Docker 一式が入ったイメージを使っているので、&lt;code&gt;/var/run/docker.sock&lt;/code&gt; をマウントするだけで使えています。&lt;/p&gt;
&lt;p&gt;しかし、実際にはアプリケーションのランタイムイメージをベースとすることが多いと思います。&lt;br&gt;
試しに Ubuntu のイメージを使うと、以下のようにエラーになります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker run -it -v /var/run/docker.sock:/var/run/docker.sock ubuntu:20.04
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# docker ps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bash: docker: &lt;span class="nb"&gt;command&lt;/span&gt; not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Docker クライアントがインストールされていないからです。&lt;/p&gt;
&lt;p&gt;この場合、コンテナ内で &lt;code&gt;docker.io&lt;/code&gt; をインストールすれば docker コマンドが使えるようになります。&lt;br&gt;
ついでに &lt;code&gt;docker-compose&lt;/code&gt; もインストールしています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo apt install -y docker.io docker-compose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;というわけで、DooD では&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/var/run/docker.sock&lt;/code&gt; をマウント&lt;/li&gt;
&lt;li&gt;ベースイメージに Docker クライアントがインストールされていなければインストール&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;で、コンテナ内から Docker コマンドが使えるようになります。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/YukiMiyatake/items/2e68aa69a5ca3921d55d" target="_blank" rel="noopener"
 &gt;https://qiita.com/YukiMiyatake/items/2e68aa69a5ca3921d55d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/minamijoyo/items/c937fb4f646dc1ff064a" target="_blank" rel="noopener"
 &gt;https://qiita.com/minamijoyo/items/c937fb4f646dc1ff064a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.mtioutput.com/entry/docker-outside-of" target="_blank" rel="noopener"
 &gt;https://www.mtioutput.com/entry/docker-outside-of&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://devblog.pirika.org/entry/2021/10/05/113000" target="_blank" rel="noopener"
 &gt;https://devblog.pirika.org/entry/2021/10/05/113000&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Portainer を docker-compose で動かす</title><link>https://blog.ponkotools.com/posts/2022/04/19/docker-swarm/</link><pubDate>Tue, 19 Apr 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/04/19/docker-swarm/</guid><description>&lt;p&gt;Docker の GUI 管理ツールである Portainer を docker-compose で動かしてみました。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Docker 20.10.7&lt;/li&gt;
&lt;li&gt;portainer-ce 2.11&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="docker-composeyml"&gt;&lt;a href="#docker-composeyml" class="header-anchor"&gt;&lt;/a&gt;docker-compose.yml
&lt;/h2&gt;&lt;p&gt;Docker での動かし方は公式ドキュメントに記載されています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux" target="_blank" rel="noopener"
 &gt;https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これを docker-compose に落とし込んだのが以下です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;3&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;portainer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;portainer/portainer-ce&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;portainer&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;portainer_data:/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="m"&gt;8000&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;8000&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="m"&gt;9000&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;9000&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="m"&gt;9443&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;9443&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;portainer_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通常 HTTPS で 9443 番ポートで アクセスしますが、HTTP でアクセスしたい場合は 9000 番ポートを使用します。&lt;br&gt;
8000 番ポートは Edge コンピュート機能を使用する場合にのみ必要とありますが、使っていないので詳細はわかりません。
それ以外には特筆すべき点はないかと思います。&lt;/p&gt;
&lt;p&gt;これで http://localhost:9000 にアクセスすれば画面が表示されます。&lt;/p&gt;
&lt;h2 id="portainer-agent-を追加する"&gt;&lt;a href="#portainer-agent-%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;Portainer Agent を追加する
&lt;/h2&gt;&lt;p&gt;以上で Portainer が使えるようになったのですが、Docker Volume の中が閲覧出来ませんでした。&lt;br&gt;
これを有効化するには、Docker Swarm または Portainer Agent を追加する必要があるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.portainer.io/user/docker/volumes/browse" target="_blank" rel="noopener"
 &gt;https://docs.portainer.io/user/docker/volumes/browse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Docker Swarm はまた別記事にするとして、ここでは Portainer Agent を追加します。&lt;br&gt;
やり方については以下の記事が参考になりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/64735377/install-portainer-portainer-agent-using-docker-compose" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/64735377/install-portainer-portainer-agent-using-docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;3.2&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;portainer/agent&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/lib/docker/volumes:/var/lib/docker/volumes&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;portainer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;portainer/portainer-ce&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="l"&gt;H tcp://agent:9001 --tlsskipverify&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;9000:9000&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;portainer_data:/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;portainer_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで Docker Volume の中を閲覧できるようになりました。&lt;/p&gt;
&lt;p&gt;Docker Swarm での動かし方は別記事に書きました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/05/portainer-docker-swarm.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2022/05/portainer-docker-swarm.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux" target="_blank" rel="noopener"
 &gt;https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/polarbear08/items/931fe04ec228fad13092" target="_blank" rel="noopener"
 &gt;https://qiita.com/polarbear08/items/931fe04ec228fad13092&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/64735377/install-portainer-portainer-agent-using-docker-compose" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/64735377/install-portainer-portainer-agent-using-docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-compose でアプリの起動を遅らせる</title><link>https://blog.ponkotools.com/posts/2021/11/08/docker-compose/</link><pubDate>Mon, 08 Nov 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/11/08/docker-compose/</guid><description>&lt;p&gt;docker-compose.yml の &lt;code&gt;depends_on&lt;/code&gt; はあくまでコンテナの依存関係だけであり、アプリの起動や初期化までは待ってくれません。&lt;/p&gt;
&lt;p&gt;現在の docker-compose には &lt;code&gt;condition&lt;/code&gt; というのがあり、コンテナの状態をチェックして起動を制御することが可能なようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://gotohayato.com/content/533/" target="_blank" rel="noopener"
 &gt;https://gotohayato.com/content/533/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/shiena/items/47437f4f7874bf70d664" target="_blank" rel="noopener"
 &gt;https://qiita.com/shiena/items/47437f4f7874bf70d664&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただ、そのために healthcheck の方法を定義しないといけないなどちょっと面倒だったので、今回は &lt;code&gt;sleep&lt;/code&gt; を入れて無理やり起動を遅らせる方法をとりました。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sleep&lt;/code&gt; の入れ方ですが、以下の２つの方法を思いつきました。&lt;/p&gt;
&lt;h2 id="command-で指定する例"&gt;&lt;a href="#command-%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%99%e3%82%8b%e4%be%8b" class="header-anchor"&gt;&lt;/a&gt;command で指定する例
&lt;/h2&gt;&lt;p&gt;docker-compose.yml の &lt;code&gt;command&lt;/code&gt; で以下のように記述します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;command: bash -c &amp;#34;sleep 5 &amp;amp;&amp;amp; python3 sample.py&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="entrypoint-で指定"&gt;&lt;a href="#entrypoint-%e3%81%a7%e6%8c%87%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;entrypoint で指定
&lt;/h2&gt;&lt;p&gt;docker-compose.yml の &lt;code&gt;entrypoint&lt;/code&gt; で起動時に実行するスクリプトファイルを指定し、そのスクリプトファイルの中で &lt;code&gt;sleep&lt;/code&gt; を実行します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;entrypoint: &amp;#34;/hoge/entrypoint.sh&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://gotohayato.com/content/533/" target="_blank" rel="noopener"
 &gt;https://gotohayato.com/content/533/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/shiena/items/47437f4f7874bf70d664" target="_blank" rel="noopener"
 &gt;https://qiita.com/shiena/items/47437f4f7874bf70d664&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://forums.balena.io/t/docker-compose-startup-delay/100607" target="_blank" rel="noopener"
 &gt;https://forums.balena.io/t/docker-compose-startup-delay/100607&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-compose で GPU を使う</title><link>https://blog.ponkotools.com/posts/2021/11/02/docker-compose/</link><pubDate>Tue, 02 Nov 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/11/02/docker-compose/</guid><description>&lt;p&gt;&lt;code&gt;docker run&lt;/code&gt; では &lt;code&gt;--gpus all&lt;/code&gt; としていたのですが、docker-compose ではどう指定すればいいのかわからなかったので調べてみました。&lt;/p&gt;
&lt;p&gt;基本的には以下に書かれている通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.docker.com/compose/gpu-support/" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/compose/gpu-support/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;docker-compose では例えば以下のように記述します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deploy:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; resources:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; reservations:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; devices:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - capabilities: [gpu]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;environment: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - NVIDIA_VISIBLE_DEVICES=all
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - NVIDIA_DRIVER_CAPABILITIES=all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.docker.com/compose/gpu-support/" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/compose/gpu-support/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/66298638/devices-properties-is-not-allowed-while-creating-docker-compose-with-nvidia" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/66298638/devices-properties-is-not-allowed-while-creating-docker-compose-with-nvidia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/1024chon/items/4aaf4c1493fc9200cadc" target="_blank" rel="noopener"
 &gt;https://qiita.com/1024chon/items/4aaf4c1493fc9200cadc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-compose での環境変数の参照方法</title><link>https://blog.ponkotools.com/posts/2021/10/29/docker-compose/</link><pubDate>Fri, 29 Oct 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/10/29/docker-compose/</guid><description>&lt;p&gt;docker コンテナ内でホストと同じユーザーIDを指定するために、ホストの環境変数を参照していました。&lt;/p&gt;
&lt;p&gt;例えば、docker コンテナ内でホストと同じユーザーIDを指定するために以下のように記述していましたが、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e LOCAL_UID=$(id -u $USER) \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e LOCAL_GID=$(id -g $USER) \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hoge:0 bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これを docker-compose.yml ではどう書けばいいのか？
結果的には以下のように記述することで上手くいきました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;environment: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - LOCAL_UID=${id:-u ${USER}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - LOCAL_GID=${id:-g ${USER}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/reflet/items/a96752b4cd3838ea6932" target="_blank" rel="noopener"
 &gt;https://qiita.com/reflet/items/a96752b4cd3838ea6932&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rocket.Chat で使用している MongoDB をアップグレードする</title><link>https://blog.ponkotools.com/posts/2021/10/20/rocketchat/</link><pubDate>Wed, 20 Oct 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/10/20/rocketchat/</guid><description>&lt;p&gt;Rocket.Chat をアップグレードしたら、MongoDB をアップグレードするように警告が表示されるようになったので、MongoDB もアップグレードしました。&lt;/p&gt;
&lt;p&gt;アップグレードについては、以下の記事が参考になりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://linuxhandbook.com/mongodb-upgrade-rocket-chat/" target="_blank" rel="noopener"
 &gt;https://linuxhandbook.com/mongodb-upgrade-rocket-chat/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;h3 id="アップグレード前"&gt;&lt;a href="#%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89%e5%89%8d" class="header-anchor"&gt;&lt;/a&gt;アップグレード前
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Rocket.Chat 3.10.4&lt;/li&gt;
&lt;li&gt;MongoDB 4.0.22&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="アップグレード後"&gt;&lt;a href="#%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89%e5%be%8c" class="header-anchor"&gt;&lt;/a&gt;アップグレード後
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Rocket.Chat 4.0.3&lt;/li&gt;
&lt;li&gt;MongoDB 5.0.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="やったこと"&gt;&lt;a href="#%e3%82%84%e3%81%a3%e3%81%9f%e3%81%93%e3%81%a8" class="header-anchor"&gt;&lt;/a&gt;やったこと
&lt;/h2&gt;&lt;h3 id="rocketchat-を-403-にアップグレード"&gt;&lt;a href="#rocketchat-%e3%82%92-403-%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;Rocket.Chat を 4.0.3 にアップグレード
&lt;/h3&gt;&lt;p&gt;3.10.4 から 4.0.3 へのアップグレードはバージョンを変更するだけでいけました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;docker コンテナ停止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt; の Rocket.Chat のバージョンを 4.0.3 に変更&lt;/li&gt;
&lt;li&gt;docker コンテナ起動&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この時点で Rocket.Chat 4.0.3、MongoDB 4.0.22 の組み合わせとなりましたが、以下のメッセージが表示されるようになりました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | SERVER RUNNING |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Rocket.Chat Version: 4.0.3 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | NodeJS Version: 12.22.1 - x64 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | MongoDB Version: 4.0.27 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | MongoDB Engine: wiredTiger |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Platform: linux |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Process Port: 3000 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Site URL: http://localhost:3000 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | ReplicaSet OpLog: Enabled |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Commit Hash: 6e49fc9466 |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | Commit Branch: HEAD |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | DEPRECATION |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | YOUR CURRENT MONGODB VERSION (4.0.22) IS DEPRECATED. |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | IT WILL NOT BE SUPPORTED ON ROCKET.CHAT VERSION 5.0.0 AND GREATER, |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | PLEASE UPGRADE MONGODB TO VERSION 4.2 OR GREATER |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | | |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rocketchat_1 | +----------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MongoDB version 4.0.22 is deprecated, please upgrade your installation.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;MongoDB 4.0 は非推奨なので、4.2 以上へアップグレードするよう促されます。&lt;br&gt;
なので、ついでに最新の 5.0 までアップグレードします。&lt;/p&gt;
&lt;h3 id="mongodb-を-42-にアップグレード"&gt;&lt;a href="#mongodb-%e3%82%92-42-%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;MongoDB を 4.2 にアップグレード
&lt;/h3&gt;&lt;p&gt;4.0 から 4.2 へのアップグレードは &lt;code&gt;docker-compose.yml&lt;/code&gt; を修正して再起動するだけでいけました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;docker コンテナ停止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt; の MongoDB のバージョンを 4.0 に変更&lt;/li&gt;
&lt;li&gt;docker コンテナ起動&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mongodb-を-44-にアップグレード"&gt;&lt;a href="#mongodb-%e3%82%92-44-%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;MongoDB を 4.4 にアップグレード
&lt;/h3&gt;&lt;p&gt;4.2 から 4.4 へのアップグレードは &lt;code&gt;docker-compose.yml&lt;/code&gt; を修正して再起動するだけではだめでした。&lt;br&gt;
先に以下のコマンドを実行する必要があります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker exec mongo bash -c &amp;#39;mongo --eval &amp;#34;db.adminCommand( { setFeatureCompatibilityVersion: \&amp;#34;4.2\&amp;#34; } )&amp;#34;&amp;#39;`
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;流れとしては以下です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;上記のコマンドを実行&lt;/li&gt;
&lt;li&gt;docker コンテナ停止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt; の MongoDB のバージョンを 4.4 に変更&lt;/li&gt;
&lt;li&gt;docker コンテナ起動&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mongodb-を-50-にアップグレード"&gt;&lt;a href="#mongodb-%e3%82%92-50-%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%82%b0%e3%83%ac%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;MongoDB を 5.0 にアップグレード
&lt;/h3&gt;&lt;p&gt;先ほどと同じです。&lt;br&gt;
上記のコマンドのバージョンを 4.4 に変更して実行します&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker exec mongo bash -c &amp;#39;mongo --eval &amp;#34;db.adminCommand( { setFeatureCompatibilityVersion: \&amp;#34;4.4\&amp;#34; } )&amp;#34;&amp;#39;`
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;流れとしては以下です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;上記のコマンドを実行&lt;/li&gt;
&lt;li&gt;docker コンテナ停止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt; の MongoDB のバージョンを 5.0 に変更&lt;/li&gt;
&lt;li&gt;docker コンテナ起動&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://linuxhandbook.com/mongodb-upgrade-rocket-chat/" target="_blank" rel="noopener"
 &gt;https://linuxhandbook.com/mongodb-upgrade-rocket-chat/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Grafana のダッシュボードをログインなしで閲覧できるようにする</title><link>https://blog.ponkotools.com/posts/2021/06/11/grafana/</link><pubDate>Fri, 11 Jun 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/06/11/grafana/</guid><description>&lt;p&gt;タイトルの通りです。&lt;/p&gt;
&lt;p&gt;Grafana には一応 Snapshot という機能がありますが、日時の範囲が固定で、範囲を変えても範囲外のデータは閲覧できなかったりと、その名の通りあくまでスナップショットです。&lt;/p&gt;
&lt;p&gt;なので、ログインしなくてもダッシュボードの閲覧だけは出来るように設定します。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;p&gt;docker および docker-compose を使って構築しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana v7.5.7&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="設定"&gt;&lt;a href="#%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;設定
&lt;/h2&gt;&lt;p&gt;設定方法は &lt;code&gt;grafana.ini&lt;/code&gt; を編集するか、環境変数を設定するかのどちらかで行います。&lt;/p&gt;
&lt;p&gt;今回は docker-compose.yml で環境変数を設定しました。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GF_AUTH_ANONYMOUS_ENABLED&lt;/code&gt; を &lt;code&gt;true&lt;/code&gt; に設定すれば、ログインなしでもダッシュボードの閲覧ができるようになります。&lt;/p&gt;
&lt;p&gt;以下、設定例です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;3.1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;influxdb:1.8.6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;8086:8086&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;influxdb:/var/lib/influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;grafana/grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;3000:3000&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;GF_AUTH_ANONYMOUS_ENABLED=true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;grafana:/var/lib/grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;尚、環境変数の一覧は Grafana の Server Admin &amp;gt; Settings で確認できます。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://uzimihsr.github.io/post/2020-05-08-grafana-anonymous-authentication/" target="_blank" rel="noopener"
 &gt;https://uzimihsr.github.io/post/2020-05-08-grafana-anonymous-authentication/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1" target="_blank" rel="noopener"
 &gt;https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>