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!
表示されました。
これで環境構築は完了です。
Python環境をDockerで構築
Pythonの環境をDockerで構築する際の備忘録
Dockerの導入については以下で紹介している。 yuzuremon.hatenablog.com
Dockerイメージのインストール
DockerHubから公式Pythonのイメージをインストール
$ docker pull python:3.7
コンテナ起動
インストールしたイメージからコンテナを起動、作成します。
コンテナを作成する前にローカルに開発を行うディレクトリを作成し、そこに移動します。
開発自体はローカル環境で行えるようにローカルとコンテナのディレクトリを同期してコンテナを作成します。
$ docker run -d --name python_3.7 -w /app -v $(pwd):/app python:3.7 /bin/bash
確認
$ docker container ps
python_3.7が表示されるはずです。
コンテナにログイン
$ docker exec -it python_3.7 /bin/bash
Python動作確認
$ echo 'print("hello, python")' > test.py $ python test.py
hello, python
が表示されればOK
これでPython環境の構築は完了です。
PHP環境をDockerで構築
PHPの環境をDockerで構築する際の備忘録
Dockerの導入については以下で紹介している。 yuzuremon.hatenablog.com
Dockerイメージのインストール
DockerHubから公式phpのイメージをインストール
$ docker pull php:7.0
コンテナ起動
インストールしたイメージからコンテナを起動、作成します。
コンテナを作成する前にローカルに開発を行うディレクトリを作成し、そこに移動します。
開発自体はローカル環境で行えるようにローカルとコンテナのディレクトリを同期してコンテナを作成します。
$ docker run -d -p 80:80 --name php-app -v $(pwd):/var/www/html php:7.0-apache
確認
$ docker container ps
php-app
が表示されるはずです。
コンテナにログイン
$ docker exec -it php-app /bin/bash
PHP動作確認
$ echo '<?php phpinfo();' > index.php
index.php
を作成
ブラウザで確認
localhost:80
にアクセスしてphpinfoが表示されればOK
コンテナからはexit
で抜けられる。
コンテナを停止
$ docker container stop php-app
これでPHP環境の構築は完了です。
Docker for Macの導入について
Docker for Macのインストール
公式サイトからインストール
インストール後、正しくインストールされているか確認を行う(ターミナルから以下を実行)
$ docker version
dockerバージョンが表示されればOK
お試しでnginxを起動してみる
次は動作確認もかねてnginxのコンテナを作成してみます。
$ docker run -d -p 80:80 --name webserver nginx
--name
でコンテナ名を指定して作成します。
コンテナ名は任意で問題ありませんが、今回はwebserver
としています。
nginx
はコンテナイメージ名を指定しています。
これでコンテナが作成されたはずなので、nginxが立ち上がっているか確認します。
$ docker container ps
webserver
という名前のコンテナが表示されるはずです。
実際にブラウザからlocalhostにアクセスしてみてください。
nginxのページが表示されればOK
起動したコンテナを停止する場合は以下のコマンドを実行
$ docker container stop webserver
再度起動したい場合は以下のコマンドを実行
$ docker container start webserver
これでDockerの導入は完了です。
最後に
いくつか他のDockerコマンドも記載しておきます。
停止しているコンテナも含めて全表示
$ docker container ps -a
作成したコンテナの削除
$ docker container rm webserver
Dockerイメージの表示
$ docker image ls
Dockerイメージの削除
$ docker image rm nginx