今回はローカル開発環境の構築についてです。
Web系エンジニアはdockerを使ってる人が多いと思うのですが、まだ使っていないって人も一定数いますよね。
しかし、dockerっていうのは今後絶対に必要になってくるでしょう。
なぜ、dockerが必要なのか?
そして初心者プログラマーでも簡単に扱えるようになるdocker入門編について解説していきます。
dockerを使うメリット
dockerの最大のメリットはローカル環境の構築が簡単にできてしまうところにあります。
ローカル環境とは、プログラミング開発をする時の土台です。
開発する状況によって、環境は様々。
- OSは何を使うのか
- webサーバーは何を使うのか
- データベース等ミドルウェアは何を使うのか
- PHPやpythonのバージョンはいくつか
これらを案件に別にいちいち作り込んでいくのはとてもめんどくさいし非効率的。
手軽にローカル環境の開発ができて、尚且軽くてPCの負担もすくない。
それがdockerなのです。
しかも構築した環境も共有するのも可能。
グループ開発をするなら環境配布の手軽さは重要ですよね。
Web系エンジニアなら、会社員だろうがフリーランスだろうが、受託開発だろうがSESだろうが、絶対にdockerは必要なってくるんじゃないでしょうか。
フリーランスでの働き方が増えm個人の時代がやってくると言われている。
そうなったら、見ず知らずの人間といきなりグループ開発をすることも増えていくでしょう。
そんな時、みんながその時代のトレンドに合わせておけば、スムーズに開発を進めることができるでしょう。
だからこそ、手軽にローカル環境の共有ができるdockerが重宝されるのは間違いない。
まだdockerを使ってない人は、早い段階で使えるようにしておかないと、後々苦労することになるんじゃないかな。
dockerを使ってみて思ったこと
僕は今までローカルの開発環境にdockerを使っていませんでした。
vagrant+VirtualBoxを使ったり、wordpressを使う場合はMAMPで事足りてたし。
もともとはそんな感じでした。
しかし、Webエンジニアの求人とかフリーランス案件にざっと目を通してみるとdockerを使っているものがとても多かったのです。
要するにdockerが使えないと案件に参画すらできないという感じなのです。
それくらい、皆がdockerを使っているのです。
dockerを試しに使ってみたのですが、思っていた100倍くらい簡単でした。
こういう時に毎回、思うけど知らないことに対しては必要以上に高い壁だと感じてしまうんだよね。
やってみると、案外簡単。
初心者プログラマーでも簡単にローカル環境を作ることができるようになるんじゃないでしょうか。
僕はもともと文系出身だし、プログラミングは完全独学でやってきた人間です。
サーバーサイドの知識も乏しく、どちらかというとフロントエンドに寄っている人間です。
そんな僕のような人間でも、手軽にdockerを使うことができたのだから、軽く調べれば基本の部分は誰でもできるようになるんじゃないかな。
未知の領域のものを始める時、自分にはできないという思い込みが邪魔して行動できないことはとても多いです。
dockerなんて簡単だし、みんな使ってるから使えない方が問題だよねってくらいに考えてみたらどうかな。
Webエンジニアの開発環境でdockerを使ってる人がほとんどだし、みんなが使ってるものを使った方がメリットがたくさんある。
開発環境にオリジナルや希少性を求めても意味ないし、みんなが使ってるからって理由だけでも、dockerを使わなければいけない理由になるんじゃないだろうか。
Webサービスやアプリケーション開発をやるのであれば、とりあえず開発環境の構築を一番最初にやらないと何も始まらない。
初心者プログラマーにとって、Webエンジニアになるための始めの一歩がdocker使った開発環境構築を学ぶことかもなのではないでしょうか。
wordpressのローカル環境をdockerで作ってみる
それではdocker-composeを使ってwordpressを動かしてみます。
まずはPCにdockerをインストールします。
mac

windows

ちゃんとインストールできたかどうかはターミナルでバージョン確認コマンドをうってみてください。
$ docker version
docker-compose.ymlの準備
ここからコピペでOKなのですが、wordpressの方はデータをコンテナの外に置くのでvolumesを設定します。
自分のディレクトリ、ここではwwwとして設定しています。
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
volumes:
- ./www:/var/www/html
depends_on:
- db
image: wordpress:latest
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
コマンドでコンテナを起動させます。
$ docker-compose up -d
これで完了。
ポート番号で設定されているURL、
http://localhost:80000
ここにアクセスすれば、wordpressのセットアップが始まります。
docker-compose.ymlのファイルをgitでコミットしておけば、あとはコマンドで実行するだけで開発環境が共有できてしまうのです。
本当に手軽ですよね。
まとめ
プログラミングスクールが充実した今の時代、簡単なことはそのうち皆ができるようになる。
そして、難しいことはテクノロジーが発展するとどんどん簡単になっていく。
自分の人材価値を上げるためには、もっとレベルが高いことができるようになって、世の中にとって希少性を見い出さないと。
dockerだって、もともとローカルに開発環境を作るのは結構な知識が必要だったはずなのに、こんなに簡単に作れるようになったんだ。
初心者プログラマーだとしても、qiitaとか見ればだいたいやり方がわかってしまう。
世の中は便利すぎて本を買う必要までなくなったんだね。
情報に価値がなくなるという話をよく耳にするのですが、この意味が何となくわかってきました。
情報を知ってるか知らないかじゃなくて、情報を取得しようとする意思さえあればそれで知ってる人と同じくらいの価値が生まれるってことなんじゃないかな。
コメント