はじめに

そろそろWebの開発環境も整備したいなと思い、
今っぽいという理由だけでDockerとNginxを使って環境構築をしてみました。
とりあえずlocalhostで起動できるところまでです。

環境構築

Homebrewを使ってDockerをインストールします。
※Homebrewを使わない場合は、下記からでもOKです。
https://www.docker.com/community-edition#/mac

$ brew cask install docker
==> Tapping caskroom/cask
Cloning into '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask'...
remote: Counting objects: 4064, done.
remote: Compressing objects: 100% (4048/4048), done.
remote: Total 4064 (delta 22), reused 996 (delta 12), pack-reused 0
Receiving objects: 100% (4064/4064), 1.40 MiB | 360.00 KiB/s, done.
Resolving deltas: 100% (22/22), done.
Tapped 0 formulae (4,073 files, 4.4MB)
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/24312/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
  docker was successfully installed!

Dockerを起動します。

 open /Applications/Docker.app

Nextを押下すると起動します。

バージョンはこんな感じです。

$ docker --version
Docker version 18.03.1-ce, build 9ee9f40
$ docker-compose --version
docker-compose version 1.21.1, build 5a3f1a3
$ docker-machine --version
docker-machine version 0.14.0, build 89b8332

docker-composeというのは、
複数のコンテナからなるサービスの構築や実行を自動化するもので、
コンテナは最小単位にすべきというDockerの思想において重要なもの(らしい)です。



nginxを使ってwebサーバを立てます。

$ docker run -d -p 8080:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
f2aa67a397c4: Pull complete
3c091c23e29d: Pull complete
4a99993b8636: Pull complete
Digest: sha256:b1d09e9718890e6ebbbd2bc319ef1611559e30ce1b6f56b2e3b479d9da51dc35
Status: Downloaded newer image for nginx:latest
bf49e30cd230a45f1412a6c7408a73fd1562718d5b0d967363fc575c5eefcf1b

業務ではずっとApacheを使っていたので、Nginxを使うのは初めてです。
NginxはApacheの代替となるWebサーバで、
大量アクセス(クライアント1万台問題)に対応するものとして注目されたそうです。

ポートを8080としているので、 http://localhost:8080/ にアクセスすると繋がります。



これから

まだ言語とかDBとかフレームワークとかなんにも決めていないので今日はこれ以上進めなかったのですが、
これからこの環境を使ってなんかしらのWebアプリ開発に取り組んでいきます 🙂

スポンサーリンク