LaTeXの環境構築
はじめに
卒業研究の論文のため、Dockerを用いてLaTeXの環境構築を行う。このページでは、環境構築の一連の流れを記載する。
なお、今回の環境構築は以下の記事を参考に進めていきました。
参考サイト
環境
Dockerのpull
以下のコマンドを実行しLaTeXの環境構築がされたimageをローカルにpullし、できているかの確認をする。
$ docker pull ghcr.io/being24/latex-docker:latest $ docker images
実行後に以下のものがあればpullは完了しています。
$ hgcr.io/being24/latex-docker latest 36c0de73963d 3 months ago 1.65GB
テンプレートのclone
レポジトリをcloneする。画面右上にあるUse this templateというボタンか、Forkを押下することでテンプレートのコピーを作成する。
その後、ローカルにcloneを行う。
そしてcloneを実行する。
$ git clone [コピーしたURL]
Chapter11 サーバーレス入門
本章ではハンズオン形式で様々なサーバーレスクラウドを動かしながら構成要素に触れていく。
Lambda
以下を入力し、デプロイを行いvenv作成し実行する。
実行後、”SimpleLambda.FunctionName=XXXX” と出るが、XXXXに当たる文字列は今後使うのでメモをしていく。
以下のコマンドにXXXXを追加入力しLambda関数を実行する。
更に複数のタスクを実行するときは以下を入力すると100個のタスクを実行することができる。
”python invoke_many.py XXXX 100”
AWSのコンソールにあるTimestream>Monitoringに行くとタスクの実行を確認することができる。
最後にスタックの削除をするために以下を入力し実行する。
”cdk destroy”
DynamoDB
デプロイの手順自体は基本的にLambdaの時と同様で、プロジェクトのディレクトリ移動のところを/Lambdaから/dynamodbに変更するだけである。
AWSに書き込んだ新しい要素は以下を入力することで、要素を出力する事ができる。
”python simple_read.py XXXX”
忘れないようにLambdaと同じくスタックの削除をするために以下を入力
”cdk destroy”
Chapter4
ソースコードのダウンロード
今回使用するソースコードを以下のコマンドを使いGitHubからダウンロードする。
Pythonの依存ライブラリ
Pythonの依存ライブラリをインストールをする。そのために以下を入力しディレクトリを移動しvenvで仮想環境を作成した後インストールを実行する。
SSH鍵を作成
以下を実行しAWS CLIのコマンドで”HirakeGoma”という名前の付いたカギを作成する。必要ならregionを設定する。以下により、”HirakeGoma”というファイルが作成される。
以下を入力し秘密鍵を移動する。
最後に秘密鍵が書き換えられたりしないように秘密鍵が書き換えられたり第三者に閲覧されないように以下を実行する。なおコマンド内の400はファイルの所有者のみが読み込みの操作ができるという意味である。
Chapter6
Dockerのインストール
Dockerをインストールするために以下のコマンドを入力
[curl -fsSL https://get.docker.com -o get-docker.sh]
[sudo sh get-docker.sh]
これらを実行することによってDockerをインストールする。
Dockerの設定
毎回[sudo]を記入しないために使用するユーザーをdockerという名前のグループに追加する。
そのために以下を入力
[sudo groupadd docker]
[sudo usermod -aG docker ogata]
完了したら一度ログアウトして再度ログインをし、確認作業のために以下を入力
[docker run hello-world]
sudoを入れずにコンテナが実行できたら、設定は完了である。
Docker imageのインストール
Docker imageをインストールするために以下を入力
[docker pull ubuntu:20.04.4]
Ubuntuを起動しコンテナを起動するために以下を入力
[docker run -it tomomano/labc:latest]
"root@aws-handson:~$"となっているのを確認できたら、
[ls]
上記を入力すると、"handson/"というディレクトリがあるのが分かり、
[cd handson]
上記で各ハンズオンごとのディレクトリがわかる。
Docker imageを起動する際は以下の様にrunコマンドを使用する。
[docker run -it ubuntu:20.04.4]
Chapter4
Pythonの依存ライブラリのインストール
プログラムを実行するためにPythonの依存ライブラリのインストールする。ためにDockerを起動
起動したら以下を入力しディレクトリを移動する
[handson/ec2-get-started]
移動を確認したらvenvで仮想環境を作成し、以下を入力しインストールする。
[python3 -m venv .env]
[source .env/bin/activate]
[pip install -r requirements.txt]
これにて完了
SSH鍵を生成
AWS CLIコマンドでHirakeGomaという名前の付いたカギを作成するために以下を入力
[export KEY_NAME="HirakeGoma"]
[aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem]
これにより、"HirakeGoma"というファイルが作成される。
秘密鍵の移動をするために以下を入力
[mv HirakeGoma.pem ~/.ssh/]
秘密鍵が書き換えられたりしないように、書き換えられたり閲覧されないようにするために以下を入力
[chmod 400 ~/.sshHirakeGoma.pem]
Chapter3
AWS CLIを使ってみる
AWSのS3に格納領域(Bucket)を作成し、以下のコマンドを入力
[bucketName="mybucket-$(openssl rand -hex 12)"]
[echo $bucketName]
[aws s3 mb "s3://${bucketName}"]
これらを実行することにより、ンダムな文字列を含んだバケットの名前を生成し、bucketNameという変数に格納される。
作成したバケットを確認するために以下を入力
[aws s3 ls]
次にバケットにファイルをアップロードするために以下を入力
[echo "Hello world!" > hello_world.txt]
[aws s3 cp hello_world.txt "s3://${bucketName}/hello_world.txt"]
以上を実行し、最後に使い終わったバケットを削除するために以下のコマンドを実行する。
[aws s3 rb "s3://${bucketName}" --force]