Rust環境をDockerで構築
Rustの環境をDockerで構築する際の備忘録
Dockerの導入については以下で紹介している。 yuzuremon.hatenablog.com
Dockerイメージのインストール
DockerHubから公式Rustのイメージをインストール
$ docker pull rust:1.30.1
コンテナ起動
インストールしたイメージからコンテナを起動、作成します。
コンテナを作成する前にローカルに開発を行うディレクトリを作成し、そこに移動します。
開発自体はローカル環境で行えるようにローカルとコンテナのディレクトリを同期してコンテナを作成します。
$ docker run -it --name rust_1.30.1 -w /app -v $(pwd):/app rust:1.30.1 /bin/bash
バージョン確認
$ rustc --version
以下が表示されました。
rustc 1.30.1 (1433507eb 2018-11-07)
Rust動作確認
Cargoを使用して新規プロジェクトを作成
$ cargo new --bin hello-rust
以下のようなエラーが発生。。。
error: Failed to create project `hello-rust` at `/app/hello-rust` Caused by: could not determine the current user, please set $USER
USERを設定しろと言われていますね。
なので、USERをセットしてもう一度コンテナを再度実行
$docker run --rm -e USER=$USER -it -w /app -v $(pwd):/app rust:1.30.1
$cho $USER
でMac側で使用していたユーザーが表示されればOK
もう一度Cargoを使用して新規プロジェクトを作成
$ cargo new --bin hello-rust
またエラーが。。。
error: destination `/app/hello-rust` already exists Use `cargo init` to initialize the directory
先程のエラー時にディレクトリだけは作成されていたようです。
ディレクトリを削除して再実行
Created binary (application) `hello-rust` project
やっと成功しました。
作成したプロジェクトを実行してみます。
$ cd hello-rust $ cargo run --release Compiling hello-rust v0.1.0 (/app/hello-rust) Finished release [optimized] target(s) in 3.47s Running `target/release/hello-rust` Hello, world!
表示されました。
これで環境構築は完了です。