ヤマムギ

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 クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

「関西AWSスタートアップ勉強会」に行ってきました

第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …

ParquetフォーマットのデータにS3 Select SQLを実行する

RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …

Amazon Connectで電話を転送する

かかってきた電話を転送するようにしました。 問い合わせフローで[終了/転送]から …

Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)

Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …

Amazon Linux2のPHPを7.2から7.3へアップデートしました

WordPressのサイトヘルスの推奨に従って使っていないテーマを削除したの推奨 …

GoogleForm,GASからAPI Gateway, Lambdaで入力情報をDynamoDBに格納する

vol.26 AWS認定試験テキスト認定クラウドプラクティショナーのデモ(Dyn …

kintoneで設定したスケジュールにあわせてlambda(python)からSQSへメッセージを送る

EC2の起動停止をそろそろ手動でやるのも疲れてきそうなのと、やはり停止するのを忘 …

T2.microからT3.nanoに変更(メモリエラーも対応)

このブログのEC2インスタンスをT2.micro 1インスタンスからT3.nan …

S3バケットポリシーで特定のVPCエンドポイント以外からのリクエストを拒否しつつメンテナンスはしたい

特定のVPCで実行されているEC2のアプリケーションからのリクエストだけを許可し …