投稿

2月, 2021の投稿を表示しています

[Docker 初心者向け] Docker を活用して開発環境を整えよう (第8回)

イメージ
第8章: docker-compose の活用例 (Vue.js) 昨今の web フロントエンド開発で人気のある js フレームワークといえば React.js か Vue.js の2択になるようです。世界的には React.js が人気のようですが、日本国内では Vue.js ユーザーが多いような気がします。 Vue.js 自体は薄いフレームワークで実際の開発現場では Vue.js と合わせて、vuex や vue-router などが活用されることが多いようです。ここでは vue-cli を活用した環境を docker で再現しています。 8.1 作成する docker 環境について Vue.js については公式サイトの日本語訳も充実しているので公式サイトから関連情報も調べるのが良いと思います。 今回の設定で注意するところは docker-compose.yml ファイルで environment でポートを指定しているところです。ここは、いわゆる環境変数の指定に該当します。vue cli を起動すると port を 8080 で起動されることになるとおもいますが、あえて 3000 で指定しています。このやり方をしっておくとあとあと役に立つと思います。 Vue.js 公式 - https://jp.vuejs.org/ vue cli - https://cli.vuejs.org/ 8.2 準備する各ファイルの説明 下記のようなファイル構成を目指してゆきます。 (任意のディレクリを作成 今回は ~/tmp/docker_sample/node_vue) % mkdir -p ~/tmp/docker_sample/node_vue && cd ~/tmp/docker_sample/node_vue % touch Dockerfile docker-compose.yml compose_cmd.bash && \ chmod +x compose_cmd.bash Dockerfile (イメージを作成するためのフ

[Docker 初心者向け] Docker を活用して開発環境を整えよう (第7回)

イメージ
第7章: docker-compose の活用例 (Node.js) 最近のweb開発では javaScript は必要不可欠なものになりました。以前は js といえば web ブラウザの中でうごかすものというの認識でしたが昨今では js を使ってサーバーサイドプログラミングをする場面も多くなってきました。 js を使ってサーバーサイドプログラミング環境を作る場合に定番となっているのが node.js と言われるものです。 これからの web アプリ開発の必須のスキルとして node.js はぜひ押さえておきたいところです。 7.1 作成する docker 環境について node.js も当然、公式の docker イメージが公開されています。 node.js は長期サポート (LTS) リリースモデルというやり方が採用されており、特別な理由がない場合、LTS のバージョンを指定すると間違いはないようです。 2020/12月時点では14となります。 7.2 準備する各ファイルの説明 下記のようなファイル構成を目指してゆきます。 (任意のディレクリを作成 今回は ~/tmp/docker_sample/node) % mkdir -p ~/tmp/docker_sample/node && cd ~/tmp/docker_sample/node (ファイルの中身は下記の記事参考) % touch Dockerfile docker-compose.yml hello.js Dockerfile (イメージを作成するためのファイル) FROM node:14.15.4 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app docker-compose.yml (compose コマンドで実行するファイル) version: '3.8' services: app: container_name: ctr_node14_15_4 build: context: . image: node14_15_4:yarn volum

[Docker 初心者向け] Docker を活用して開発環境を整えよう (第6回)

イメージ
第6章: docker-compose の活用例 (Perl Web) 前回に引き続き docker-compose の活用事例を紹介します。 今回の事例は web アプリ開発の場合の事例です。昨今のweb アアプリはフレームワークを活用することがおおく、フレームワークは app サーバーを立ち上げた状態で利用することが多いので一工夫必要になります。 6.1 作成する docker 環境について 今回注目してほしいのは docker-compose.yml に command: の部分を別ファイルの読み込みにして、そのファイルの中に docker-compose up をする時に毎回実行させているところです。毎回実行させることで、アプリケーションサーバーの立ち上げや追加モジュールのインストール作業も行ってくれるので大変便利です。 今回の web アプリフレームワークは Mojolicious を選択しています。 6.2 準備する各ファイルの説明 必要なファイルを用意 (任意のディレクリを作成 今回は ~/tmp/docker_sample/perl_web) % mkdir -p ~/tmp/docker_sample/perl_web && cd ~/tmp/docker_sample/perl_web (ファイルの中身は下記の記事参考) % touch Dockerfile docker-compose.yml compose_cmd.bash && \ chmod +x compose_cmd.bash && \ echo "requires 'Mojolicious', '== 8.70';" >> cpanfile 各ファイルの中身については任意のテキストエディタで作成ください。 Dockerfile (イメージを作成するためのファイル) FROM perl:5.32.0 RUN cpanm Carton &am

[Docker 初心者向け] Docker を活用して開発環境を整えよう (第5回)

イメージ
第5章: docker-compose の活用例 (Perl)  実際の開発現場での活用の場合 docker コマンドより docker-compose コマンドを使った方が使い勝手がよいとおもいます。ここでは docker-compose がなんであるのかというような詳細な説明は一旦省き、具体的な記述例を紹介してゆきます。 詳細な解説は公式ページを参考にしてください。 5.1 作成する docker 環境について 今回は Perl を題材にして汎用的なスクリプトを作成するための環境を作ってみたいと思います。基本的な考え方は他の言語でも共通する部分はあると思いますので他の言語を活用されている方でも参考にしてみてください。 5.2 準備する各ファイルの説明 下記のようなファイル構成を目指してゆきます。 (任意のディレクリを作成 今回は ~/tmp/docker_sample/perl) % mkdir -p ~/tmp/docker_sample/perl && cd ~/tmp/docker_sample/perl (ファイルの中身は下記の記事参考) % touch Dockerfile docker-compose.yml hello.p 各ファイルの中身については任意のテキストエディタで作成ください。 Dockerfile (イメージを作成するためのファイル) FROM perl:5.32.0 RUN cpanm Carton && mkdir -p /usr/src/app WORKDIR /usr/src/app docker-compose.yml (compose コマンドで実行するファイル) version: '3.8' services: app: container_name: ctr_perl5_32_0 build: context: . image: perl5_32_0:carton volumes: - .:/usr/src/app stdin_open: true tty: true hello.pl (起動テスト用のスクリプト)