DockerfileでRUSTをインストールしたAlpine Linux環境を構築する

ソフトウェア

RUSTをインストールしたAlpine Linux環境をDockerfileを用いて構築します。

RUSTとは、Mozilla Researchによって開発されたオープンソースのプログラミング言語です。

高い安全性とパフォーマンスが評価されています。

Alpine LinuxはmuslとBusyBoxをベースとしたLinuxディストリビューションです。

muslはMITライセンスのオペレーティングシステムの標準Cライブラリです。

BusyBoxはUNIXユーティリティを提供するソフトウェアスイートです。

Alpine Linuxはセキュリティ、シンプルさ、リソース効率を重視するユーザーに使われてます。

Alpine LinuxでRUSTを入れたのに技術的な理由はなく、最近よく聞くOSと言語を使ってみたかっただけですので推奨はしておりません。

RUSTをインストールしたAlpine Linux環境を構築するDockerfileを作成する

RUSTをインストールしたAlpine Linux環境を構築するDockerfileを作ります。

Dockerfile作成は別記事で記載したため必要あれば参照してください。

cd /home/[ユーザー名]
mkdir docker_alpine
cd docker_alpine
touch Dockerfile
vi Dockerfile

Dockerfileに下記の通り記載します。

FROM alpine:latest

RUN <<EOF
apk add curl
curl https://sh.rustup.rs -sSf | sh
apk add rust
EOF

Alpine LinuxのパッケージシステムはAPKですので、apk addでパッケージをインストールできます。

curlをインストールしています。

apk add curl

curlはネットワーク上の場所にURLを用いて様々なプロトコルでアクセスできるコマンドラインツールです。

次にRUSTパッケージをインストールします。

curl https://sh.rustup.rs -sSf | sh

curlで取得したファイルをshコマンドで実行しRUSTパッケージをインストールしています。

sオプションはcurlコマンドで不要な出力をしないようにします。

不要な出力があるとその出力までshコマンドに渡されてしまいますので指定します。

Sオプションはcurlコマンドのエラー内容を出力するようにします。

fオプションはエラー時にコマンド実行を停止するようにします。

最後にインストールしたパッケージを用いてRUSTをビルドします。

apk add rust

Dockerfileでimageを作成しimageからコンテナを作成し起動する

Dockerfileでimageを作成します。

docker build -t alpine_rust ./

docker buildコマンドでDockerfileからimageを作成できます。

tオプションでビルドするimageにタグ名をつけることができます。

タグ名は任意で私はalpine_rustにしています。

./はDockerfileのパスです。

別の場所にあるのであればそのパスを指定してください。

実行して無事imageができたらdocker runコマンドでコンテナを作ります。

docker run -itd -p [IPアドレス]:8081:80 --privileged alpine_rust /sbin/init

コンテナを作成できたらコンテナIDを確認し起動します。

docker ps -a
docker start [コンテナID]
docker exec -it [コンテナID] /bin/bash

docker psコマンドでDockerにあるコンテナを確認できます。

docker ps -a

確認したコンテナのコンテナIDを指定してdocker startコマンドを実行すれば起動します。

docker start [コンテナID]

現在のターミナル画面を起動したコンテナに接続します。

docker exec -it [コンテナID] /bin/bash

最後にrustがインストールされているか確認できたら完了です。

rustc --version

バージョンが表示されればよいです。

タイトルとURLをコピーしました