ヤマムギ

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

  関連記事

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

EC2にSystems MangerからCloudWatchエージェントをインストール

目次 CloudWatchエージェントIAMロールの作成EC2にSSMエージェン …

LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた

トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみな …

AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)

目次 EC2インスタンスを作成する各パッケージのインストールEC-CUBEインス …

EC2とRDSのMySQLを他のAWSアカウントへ移設する

他のAWSアカウントへシステムごと移設した場合の手順です。 構成はEC2とRDS …

AWS Summit Tokyo 2017 聴講したセッションのメモ

2017年6月に参加しましたAWS Summitで聴講したセッションのメモを記し …

Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました

AWS Summit Tokyo 2017でセッション「Going Server …

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …

よくあるサーバーレスアーキテクチャで質問フォーム

この記事はServerless2 Advent Calendar 2018に参加 …

AWS Step Functions まずはパラレルでLambdaを並列実行してみました

複数のlambdaの実行制御をLambdaでやってましたが、その部分をStep …