ヤマムギ

growing hard days.

*

Pandocサーバーのコンテナイメージを作成する

   


マークダウンからEPUBへの変換をAWS Batchで行いたく、ECRにアップロードするためにまずコンテナイメージを作成しました。
普段コンテナ使ってないので苦戦しながらやりましたが、ちょっと仲良くなれた気はします。

Pandocのコンテナイメージをローカルにダウンロードする

環境はMacです。

まず、ベースになるDockerイメージをDocker Hubで探しました。

pandoc で検索してMost Popularなのが jagregory/pandocでしたので、それをpullしました。

とりあえず動かして確認してみました。

runしてすぐにExitedになりました。
コンテナイメージのドキュメントを見ると使い方が書いてあって、ディレクトリを/sourceディレクトリにして、変換前のファイルと変換後のファイル名とフォーマットを指定して実行するらしい。

自分が欲しかったのはPandocが実行されているサーバー環境だったのでこれではないらしい。
Amazon LinuxのコンテナイメージにPandocをインストールすることにしました。

Amazon Linux コンテナイメージにPandocをインストールする

入れた〜

EPEL リポジトリの有効化はこちらを見ました。

CentOS、RHEL、または Amazon Linux が実行されている Amazon EC2 インスタンスに対して EPEL リポジトリを有効にする方法を教えてください。

イメージのIDを確認してコンテナイメージを作成します。

テストするためにローカルディレクトリをマウントさせてコンテナを起動しました。

ローカルのディレクトリはフルパスで指定するんですね。
そしてそのパスは、Docker for Macの設定で設定されているディレクトリの配下である必要があるそうです。

何はともあれ、マウントできたので、変換テストをしてみます。

日本語でもテストをしてみました。

コンテナ上で作成したファイルが、マウント先のMacのディレクトリにもできてました。

Sample.mdの内容はこちらです。

Sample_ja.mdの内容はこちらです。

確認してみると、日本語もちゃんとEPUBになってました。

これでとりあえずイメージが出来たので先にすすめます。
今日はひとまずここまで。

あと、今回よく使ったコマンドで、Dockerコンテナの削除です。

試してダメならコンテナを削除してイメージからやり直せばいいので、すごく便利ですね。
コンテナが便利なことは頭ではわかっていたのですが、手を動かして実感すると違います。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)

Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKM …

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた

サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

Backlogの実績工数をAmazon QuickSightで可視化してわかったこと

今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

NGINXで500と502のエラーが実は頻発していたらしい

先日Mackerelで当ブログの外形監視を始めたのですが、500と502のエラー …

Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる

Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …

EC2 Auto Recovery機能を設定しておいた

以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …