Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
»ArchiveList (Tag for "docker" )
«Prev ||1 ·2 ·3 ·4 ·|Next»
2023/04/23

いにしえの MTOS を Docker で蘇らせる

MovableType  docker 

昔、構築したMovable Type Open Source (MTOS)の環境を Docker を使って再構築してみました。

現在、MTOS は 2016 年 1 月 に MT5 の EOL に伴ってプロジェクトは終了され、現在は脆弱性等の修正も行われない状態になっていますので MTOS がインストールされたサーバ自体を外部に晒すことはできません

このため、現在 MTOS を復活させる意味はないように思えますが、僕は MTOS を純粋な静的サイトジェネレーターとして使っていて、生成された HTML ファイルだけを別のウェブサーバにコピーして運用しています。本当はもっと新しい静的サイトジェネレータに移行すべきなんでしょうが、大したサイトでもないのでHTML 生成が必要になった時だけ使えるローカルサーバが欲しくなったというのが構築の理由です。

先人の知恵を使わせていただく

今回はapricoton/docker-movabletype-psgi をベースに、以下で紹介されているパッチを自動的に取り込むようにしてみました。

需要はないと思いますが、作成した環境は以下にアップロードしておきます。


    at 19:37 |
    2023/04/22

    WSL2 上に Docer 環境を作ってみる

    docker  wsl 

    WSL2 に Docker をインストールしてみたのでメモ。
    Windows であれば Docker Desktop がありますが、やっぱり Linux のコマンドラインで全て済ませたいんですよね。

    WSL2 の Ubuntu 22.04 にインストールする場合、基本的には 公式のドキュメントに従うだけですんなりインストールできます。

    今回は以下のような感じでインストールしてみました。

    sudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpgecho \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo groupadd dockersudo usermod -aG docker $USERsudo tee -a /etc/wsl.conf <<EOF[boot]systemd=trueEOF

      at 17:21 |
      2023/02/04

      Docker で SSL 対応の Wordpress を一撃で構築する

      wordpress  docker 

      すぐに使えるwordpress + mariadb + nginx + Let's Encrypt 環境が欲しかったので、docker compose を使ってdocker compose で構成を作ってみました。
      Let's Encrypt のためのリバースプロキシはSteveLTN/https-portalを組み込んでいます。

      以下のコマンドですぐに使い始めることができます。

      git clone https://gist.github.com/hsur/73cb3fcfc40b9c1ea5c05a74d4e7ca3dmkdir -p nginx/conf.dmkdir -p nginx/logmkdir ssl_certsmkdir wordpressmv nginx_conf.d_default.conf nginx/conf.d/default.confmv nginx_conf.d_http_realip.conf nginx/conf.d/http_realip.confmv nginx_nginx.conf nginx/nginx_nginx.confdocker compose up -d

      注意点は以下の 2 点です。

      • docker-compose.yml 内のwww.example.com は実際に使うホスト名に合わせてください。
      • docker-compose.yml 内の#STAGE: production はテスト用の HTTPS 証明書が正常に発行されることを確認してからコメントアウトを外すようにすると安全です(Let's Encrypt のレートリミットに引っかかるのを防ぐため)

        at 16:28 |
        2021/11/10

        Azurite で Azure Storage の開発環境をローカルに構築

        azure  docker  emulator 

        Azure Storage API 互換のサーバがないかと思って調べていたら、GitHub でAzurite というソフトウェアを見つけました。

        内容をよく見てみると、これ、なんと MS 謹製の Azure Storage Emulator でした*1

        docker-compose を使うと開発環境用のサーバを一撃で作ることができます。
        docker-compose.yml

        version: '3'services: storage: image: mcr.microsoft.com/azure-storage/azurite prots: - "10000:10000" - "10001:10001" - "10002:10002" volumes: - ./data:/data restart: always environment: - TZ=Asia/Tokyo

        サーバが起動したら通常の Azure Storage と同じようにAzure Storage Explorer で中身を弄ることができます。


        at 21:39 |
        2021/11/01

        docker-compose.yml 内で cifs (smb) のボリュームをマウントする

        docker 

        docker-compose.yml 内でcifs (smb) のボリュームをマウントしてみました。
        手順は「SMB/CIFS volume in Docker-compose on Windows - Stack Overflow」が参考になりました。

        こんな感じで書けばいけるようです。

        version: '3'services: hoge: ・・・・・・・・ volumes: - share_folder:/path/to/dir ・・・・・・・・volumes: share_folder: driver_opts: type: cifs o: 'ro,username=foo,password=bar' device: "//192.168.0.0/path/to/dir"

        ユーザー名とパスワードが yml に直接書いてあるのは気持ち悪いので、これはあとでなんとかしようと思います。


          at 19:31 |
          2021/10/29

          docker-compose.yml で $ を使いたい

          docker 

          docker-compose.yml ファイル内に$ があると勝手に変数展開されてしまうのでエスケープ方法を調べてみました。
          結論から述べると、$$$ とエスケープすることができます。

          ランダムなパスワードをつけようと思ったので・・・

          これまで$ を文字列中に使う必要がなかったのでエスケープが必要なことに気づいていなかったのですが、今回、MySQL のイメージにに以下のような$が含まれたランダムなパスワードを付けようとしてハマってしまいました。

          ・・・・ environment: MYSQL_ROOT_PASSWORD: "abc$def"・・・・・

          調べてみると全く同じパターンでハマっている人*1がいて助かりました。
          上記の.yml は以下のように書き換えると動くようになります。

          ・・・・ environment: MYSQL_ROOT_PASSWORD: "abc$$def"・・・・・

          at 18:55 |
          2021/07/10

          docker-compose で Tinyproxy サーバを建てる

          docker 

          すぐに使える HTTP の Forward Proxy が欲しかったので、簡単にセットアップできるTinyProxy*1 で作ってみました。
          ネットに公開されているサーバに入れるときには Open Proxy にならないように Allow の部分の設定に注意が必要です。

          docker-compose.yml

          version: '3'services: tinyproxy: image: vimagick/tinyproxy ports: - "80:8888" volumes: - ./tinyproxy.conf:/etc/tinyproxy/tinyproxy.conf restart: unless-stopped cap_add: - CAP_NET_BIND_SERVICE

          tinyproxy.conf

          Port 8888Timeout 600LogLevel InfoXTinyproxy NoMaxClients 100Allow 127.0.0.1Allow ::1Allow 192.168.0.0/24DisableViaHeader Yes

          at 19:36 |
          2021/06/20

          s6 という djb daemontools に似た軽量プロセス管理 daemon

          docker 

          とある docker のコンテナの中身を眺めていたら、DJB daemontools と同じような設定ファイルで動いているs6-svscans6-supervise が気になったのでちょっと調べてみました。

          公式ページを見てみると daemontools にも参考としてリンクが貼られていて、アーキテクチャや設定ファイルも似ていますが、コードは全て独自に書き直されているとのこと。ソースをざっと読んでみてもmemcpy() を使っていたりする普通のコードです。(そもそも DJB のオリジナルの daemontools のコードはstring.h が使われていません。)

          Docker のイメージと組み合わせるならば以下の s6-overlay というパッケージを使うのが良さそうです。

          これを使うと docker のイメージ上で複数のプロセスを起動したり、respawn するように簡単にできます。


            at 18:55 |
            2021/04/08

            Portainerを使って Docker をウェブから管理する

            docker  systemmanagemant  dockercompose 
            Portainer.io -  Portainerを使って Docker をウェブから管理する

            Docker のコンテナをウェブから管理する方法がないかと思って調べてみたらPortainer というものがあることが分かったのでメモ。

            Portainer CE という無料版があり、インストールも Docker イメージでできるようになっています。

            起動オプションを忘れてしまいそうなので、docker-compose up -d で起動できるようにするとこんな感じでしょうか。

            docker-compose.yml


              at 13:31 |
              2021/03/13

              docker-compose で使っている Docker イメージをアップデートする

              docker 

              docker-compose で使っている Dokcer のイメージがアップデートされた場合に、ローカルのイメージをアップデートする方法が分からずに困ってしまったので、忘れないうちにやり方をメモ。--build だけでなく--force-recreateもつけないとダメみたいです。

              docker-compose pulldocker-compose up --force-recreate --build -d

                at 22:41 |
                «Prev ||1 ·2 ·3 ·4 ·|Next»
                »ArchiveList (Tag for "docker" )
                Copyright © 2004-2023 by CLES All Rights Reserved.
                サイト内検索
                検索ワードランキング
                貸金庫 審査
                銀行で貸金庫を借りてみた
                Photo
                ポスチャーフィット部品検査着ポテトなど生レモン尽くしスカッシュ正常に受付が完了しました財産債務調書バレット食道2024 年度 基盤研究(C)(一般) blog.cles.jpCelestica Seastone DX010ポスチャーフィットの割れ母子健康手帳 省令様式アーロンチェアのワイヤー新型コロナワクチン接種証明書アプリ冥銭
                へぇが多いエントリ
                閲覧数が多いエントリ
                1 .アーロンチェアのポスチャーフィットを修理(99712)
                2 .年次の人間ドックへ(99115)
                3 .福岡銀がデマの投稿者への刑事告訴を検討中(99111)
                4 .三菱鉛筆がラミーを買収(98719)
                5 .2023 年分の確定申告完了!(1つめ)(98691)
                最新のエントリ
                cles::blogについて
                誰が書いてる?
                最近行った場所
                サイトポリシー
                タグ一覧
                検索ワードランキング

                カテゴリ別エントリ
                Referrers

                  Powered by CLES
                  Nucleus CMS v3.31SP3/w memcached
                  21376887(W:7512 Y:1720 T:0986)
                  cles::blogのはてなブックマーク数
                  benchmark


                  [8]ページ先頭

                  ©2009-2025 Movatter.jp