MacユーザーならDocker for Macを使って開発環境を高速で構築!

MacユーザーならDocker for Macを使って開発環境を高速で構築!
スポンサードリンク
Advertisement

 

どーも、えーちゃん(@e_jtest)です。

 

今回は、Docker for Macが便利なので開発環境を構築しようというお話です!

 

いざ開発しようと思っても面倒なのが開発環境を構築することですよね。

 

なるべくサクッと開発環境を構築してさっさと開発したいというのがエンジニアの本音だと思います。

 

ということで、Dockerを使ってみようというお話をします!

 

 

スポンサードリンク
Advertisement

 

Dockerとは

 

Dockerについて、初心者でもわかるように簡単に説明します。

 

開発環境を構築する場合、VirtualBoxなどでイメージを読み込んで構築する方が多いと思います。

 

ドットインストールでもローカル開発環境はVirtualBoxを使用して構築するレッスンが公開されています。

 

もちろんこれでも問題ないのですが、起動に時間がかかるのと、メモリを食うのであまり好きじゃないんですよね。

 

また、アプリケーション単位で必要なモジュールも変わってきますが、VirtualBoxだとゼロからやり直しになってしまったり、必要ないモジュールまで存在する開発環境を構築することになってしまいます。

 

Dockerであれば、コンテナ単位でモジュールをインストールできるので、必要なモジュールだけを用意できます。

 

「全部入りの方が楽でいいじゃん」と思うかもしれないですが、開発環境を構築する意味として、本番環境となるべく同じものを用意するというのが前提ですので、必要のないモジュールというのは入っていない方が好ましいです。

 

Dockerを使えばコマンド1つで開発に必要な環境を立ち上げることができますし、Dockerのイメージファイルを共有することもできるので、複数人で開発する場合に全員が同じ環境を瞬時に構築できるというメリットがあります!

 

私は会社ではWindowsのPCなので、Ubuntuの中にDockerを入れて作業をしていますが、MacだとDocker for Macというのが用意されていますので、そちらを使うのがおすすめです。

 

スポンサードリンク
Advertisement

Docker for Macをインストールしよう!

 

インストールの手順を載せておきます!

 

①以下からDocker for Macをダウンロードします。
※赤枠をクリックしていきます。

 

https://docs.docker.com/docker-for-mac/install/

 

 

 

赤枠をクリックするとログインしろと言われると思うので、アカウントを持っている方はログインするとダウンロードできます。

 

持っていない方は、以下からアカウントを作成しましょう!

 

https://store.docker.com/signup?next=%2Feditions%2Fcommunity%2Fdocker-ce-desktop-mac%3Fref%3Dlogin

 

 

②ダウンロードしたらインストールしましょう!
インストールの方法は普通のアプリケーションと同様です。

 

上手くいくとクジラが出てきて起動すると思います。

 

③ターミナルから正常にインストールできているか確認しましょう!

 

 

Dockerのバージョンが正常に表示されればインストールができているということです!

 

④せっかくインストールしたのでウェブサーバーのコンテナを立ててHTMLを表示してみましょう!

 

docker run -d -p 8080:80 --name {コンテナ名} nginx

 

オプションはざっくり以下のような感じです。

-d:バックグラウンドで起動

-p:ホスト側のポートとコンテナのポートをマッピング

–name:コンテナ名をつける

 

 

$ docker run -d -p 8080:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a5a6f2f73cd8: Pull complete 
67da5fbcb7a0: Pull complete 
e82455fa5628: Pull complete 
Digest: sha256:31b8e90a349d1fce7621f5a5a08e4fc519b634f7d3feb09d53fac9b12aa4d991
Status: Downloaded newer image for nginx:latest
8a9df9efd0e5d103c0713f8a3e1a37284ed06be94f00589e11468a6a8b40d270

 

今回のコマンドでは、「webserver」という名前のコンテナを80番で起動しています。

 

nginxが正常に起動しているか確認しましょう!

 

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
8a9df9efd0e5        nginx               "nginx -g 'daemon of…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->80/tcp   webserver

 

ちゃんと起動していますね!

 

以下のURLにアクセスしてみましょう!

 

http://localhost:8080

 

こんな感じでnginxのウェルカムページが表示されれば正常に動作しています。

 

「-p」で8080:80と指定したので、ホスト側が8080ポートでアクセスするとnginxを80番ポートにフォワードされるはずです。

 

ここまででDockerというのがなんとなくわかったと思います。

 

一旦、目標は達成できたのでコンテナを止めましょう!

 

$ docker stop webserver
webserver
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
60b394cdafed        nginx               "nginx -g 'daemon of…"   6 minutes ago       Exited (0) 5 seconds ago                       webserver

 

STATUSがExitedになっているのでコンテナが停止している状態です。

 

邪魔なのでコンテナは消してしまいましょう!

 

▼コマンド

docker rm {コンテナ名}

 

#コンテナを削除
$ docker rm webserver
webserver
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

 

跡形もなく消え去りました(笑)

 

コンテナは消え去りましたが、まだイメージが残っています。
イメージも消したい時は以下のようにして削除します。

 

▼コマンド

docker rmi イメージ名

 

# イメージの一覧を確認
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              e81eb098537d        11 days ago         109MB

# docker のイメージファイルを削除
$ docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:31b8e90a349d1fce7621f5a5a08e4fc519b634f7d3feb09d53fac9b12aa4d991
Deleted: sha256:e81eb098537d6c4a75438eacc6a2ed94af74ca168076f719f3a0558bd24d646a
Deleted: sha256:7055505a92c39c6f943403d54a1cda020bfeb523b55d9d78bfe1dad0dd32bb2d
Deleted: sha256:378a8fcc106dc4d3a9f2dc0b642b164e25de3aab98a829e72b2d8c0cf0bad8ee
Deleted: sha256:ef68f6734aa485edf13a8509fe60e4272428deaf63f446a441b79d47fc5d17d3

# イメージの一覧を確認
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE 

 

また使いたい時は④のコマンドを打てばよいわけですね!簡単!

 

スポンサードリンク
Advertisement

まとめ

 

今回はDocker for MacをインストールしてWebサーバーを起動し、ブラウザからアクセスするところまでを開設しました。

 

Dockerってこういうものなのか!となんとなくでもわかっていただければ幸いです。

 

今回はWebサーバーを立てただけでしたが、データベース用のコンテナを作成したり、アプリケーション用のコンテナを作成したりもできます。

 

Docker for MacはMacに入れられるのがとても便利で良い感じです(笑)

 

WindowsだとUbuntu入れたり面倒なので・・・

 

Dockerは奥が深く、私も完全に使いこなせているわけではなく勉強しながら使ってます!

 

あなたもぜひ使ってみてください!

 

関連記事:おすすめのプログラミングスクール3つを比較してみた!

 

以上、MacユーザーならDocker for Macを使って開発環境を高速で構築!でした。