突然の社用PCフリーズからの入社後2回目の環境構築、今回はGo編。
弊社ではRailsとGoを使っていて、RailsはまだDocker化されていないので結構大変だったんだけど、Goの方はDocker環境なのでめちゃめちゃ楽で驚いた話です。
Dockerのインストール
$ brew install docker
Homebrewから。
インストールできたので、ここらで一回docker ps
してみる。
$ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
docker ps
は今動いているコンテナを一覧表示してくれるコマンド。
まだDockerをインストールしただけでコンテナは立ち上げていないので、当然ここで出てくるはずはないのだけど、一応それを確認してみたかったので。
ちなみにここでdocker ps -a
とすると停止済みのコンテナも表示してくれる。
少し脱線したけど、改めて先ほどのログを見ると
$ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
デーモンが起動してないよって怒られた。
Docker Desktopのインストール
$ brew cask install docker
ちょっとこの辺きちんと調べていないのだけど、Dockerを動かすにはDockerデーモンが起動している必要があり、Docker Desktop
というGUIを使用することで割と分かりやすくそれを維持することができる。
↑のコマンドでDocker Desktop
をインストールしたら、Launchにクジラさんアプリが出来上がってるはずなので、アプリを起動
Docker Hub
にサインアップしろみたいな感じの表示が出るけど、特にIDとか入れなくても大丈夫。
ちょっと待ってるとデーモンが立ち上がってくれます。
もう一度docker ps
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
さっきは出なかった項目が並んでいるので、Dockerの準備は整いました。
あとは必要なイメージをpullしてきてコンテナを立ち上げるだけ。
イメージはDocker Hub
に上がっているものを直接pullしてくる方法もあるし、コード化されていてアプリ(プロダクト)内に組み込まれているのであれば、そのプロダクトがあるディレクトリでコマンドを叩けばコンテナを立ち上げることができる。
今回はプロジェクトの中にDockerのイメージファイルがあり、プロジェクトをすでにgit cloneしてきていたので、docker-compose up -d
するだけでおけ。
$ docker-compose up -d
ダダダダ〜〜っとイメージのpullから始まり、無事にコンテナが立ち上がってくれました。
もう一度docker ps
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ・ ・ ・
見せられなくて残念だけど、さっき出てきた項目の下に5つ分のコンテナのそれぞれの項目(コンテナIDとか使用してるイメージとか)の一覧が表示されていることが確認でき、無事環境構築終了。ここまでなんと10分かからず。汗
Goすらインストールしてないし、、ローカルにインストールしなくて良いのはめちゃくちゃ良いよね〜〜〜
参考
今回は自社プロジェクトのREADME参照のため無し。