試して学ぶ Dockerコンテナ開発

  • 著作者名:櫻井 洋一郎村崎 大輔
    • 書籍:3,769円
    • 電子版:3,769円
  • B5変:336ページ
  • ISBN:978-4-8399-6767-3
  • 発売日:2019年07月25日
  • 備考:初~中級
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

Dockerでさまざまな実行環境、開発環境を構築するための実践ノウハウ

コンテナ型の仮想環境を作成、実行するためのプラットフォーム、Dockerの実践解説書。
本書は、エンジニアが普段行うようなWebアプリケーション開発環境の構築を、Dockerを用いて行うにはどのようにすればよいか、またその環境をDockerで作ることによってどのように開発を効率化させることができるか、にフォーカスした内容となっています。
PHPのLaravel、Node.jsのNuxt.js、RubyのSinatraとRuby on Rails、PythonのPyTorchといった、Webアプリケーションや機械学習の領域で用いられているものを対象として取り上げました。それぞれの解説は独立したものとなっているので、読者の方が使っている言語はもちろん、経験していない言語やフレームワークを試すのにも良いでしょう。

本書の構成は次のようになっています。

Chapter1「Dockerの基本」では、DockerやDocker Composeについて簡単に解説し、Docker環境のインストール手順を解説します。最後に、Dockerで使える機能を一望できるよう、Docker CLIやDocker Composeで使えるコマンドを一覧にまとめました。
Chapter2「実行環境としてのDockerイメージを構築する」では、Webアプリケーションの開発作業を想定し、Dockerでアプリケーションの実行環境を構築する手順について解説します。対象の言語環境はPHPのLaravel、Node.jsのNuxt.js、RubyのSinatraです。イメージ構築にあたってのポイントは、各々の環境で必要になるパッケージ(ライブラリ)のインストール手順です。
Chapter3「開発作業に適したDocker環境を構築する」では、Ruby on Rails(Rails)の環境を構築します。Railsは単体でも動作しますが、開発するにあたっては、データベースサーバーだけでなく、Springサーバーなどの常駐プロセスを動かす必要も出てきます。フロントエンドの開発スタイルによっては、さらにWebpackやVue.jsといったNode.jsの環境も必要になってきます。RubyとNode.jsの環境ではベースイメージが異なります。双方の言語を用意したイメージをビルドすることで、使い勝手の良い開発環境を作ることができます。
Chapter4「第三者が配布しているDocker環境をカスタマイズする」では、、第三者が配布している既存のDocker環境をカスタマイズする例として、ディープラーニングの環境をNVIDIA Dockerで動かす手順を解説します。Jupyter Notebookの開発元がJupyterアプリケーションの実行環境をDockerイメージとして配布しているので、その環境でJupyterLabを動かし、PyTorchを使えるようにし、最後にNVIDIA DockerでGPUを使った学習処理を評価してみます。
Chapter5「Dockerの機能を使いこなす」では、Dockerが提供している機能に対して、もう少し踏み込んだトピックを紹介します。イメージとレイヤー、エントリーポイント、ボリュームとネットワークなどの話題を解説しています。

商品を選択する

フォーマット 価格 備考
書籍 3,769
PDF 3,769 ※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

●櫻井 洋一郎(さくらい よういちろう)
Retty株式会社 エンジニア
東京大学大学院 情報理工学系研究科 創造情報学専攻2007年卒。
NECの開発部門に7年間勤務。仕事の傍ら個人でサービスを開発し、過去に多数のWebサービス、アプリを開発。その後Retty株式会社の創業期にJoinし2度のiOSアプリリニューアルを遂行。iOS開発以外にもサーバサイド開発、DockerとKubernetesを使った社内開発環境の構築など幅広い業務を行う。
また業務の傍らtry! Swift Tokyoでオーガナイザを務めるなどコミュニティ活動も行っている。

●村崎 大輔
2016年よりフリーランスエンジニア。博士(情報理工学)。
Web系のスタートアップ企業を中心に開発支援とコンサルティングを手がける。情報工学の見識と高い適応力が強み。
「新技術は食わず嫌いしない」がモットー。

章立て

Chapter1 Dockerの基本
1-1 はじめに
   この本の目的
   本書を読み進めるにあたって
1-2 Dockerとは
   コンテナ型の仮想化について
   Dockerのイメージについて
   Dockerを開発運用フローを改善するためのソリューションとして考える
   Docker Composeについて
1-3 Dockerのインストール
   Linux(Ubuntu)の場合
   Windowsの場合
   macOSの場合
1-4 Dockerのコマンドや命令
   Docker CLIのコマンド
   Dockerfileの命令
   Docker Composeのコマンド

Chapter2 実行環境としてのDockerイメージを構築する
2-1 PHPの実行環境の構築
   Laravelの環境
   最初のプロジェクトの雛形作り
   プロジェクトの雛形を使った実行環境イメージの作成
   効率的なbuildをするための設定
   ローカルでの開発環境
   認証の導入
2-2 Node.jsの実行環境の構築
   Node.jsの環境
   最初のプロジェクトの雛形作り
   プロジェクトの雛形を使った実行環境イメージの作成
   効率的なbuildをするための設定
   ローカルでの開発環境
   Node実行環境のinitオプションについて
2-3 Rubyの実行環境の構築
   Sinatraとは
   前準備
   Docker Composeのプロジェクトを作る
   ベースイメージの動作を確認してみる
   ホスト環境のディレクトリにアクセスできるように設定する
   Sinatraをインストールする
   Webサーバーを実行してみる

Chapter3 開発作業に適したDocker環境を構築する
3-1 Ruby on Railsの実行環境を構築する
   Ruby on Railsとは
   前準備
   Docker Composeのプロジェクトを作る
   Node.js環境を追加する
   Node.jsのパッケージが使えるようにする
3-2 Railsのアプリケーションを作成する
   Railsコマンドでファイル一式を作成する
   Bundlerの設定を追加する
   Gemfileの依存関係を修正する
   Webサーバーを立ち上げて動作を確認する
3-3 開発に必要な構成を追加する
   コンテナの立ち上げ時にクリーンアップをおこなう
   開発用ツールの設定を修正する
   Springを使うための構成を追加する
   Webpackerを使うための構成を追加する
   データベースサーバーを動かす(PostgreSQL)
   データベースサーバーを動かす(MySQL)

Chapter4 第三者が配布しているDocker環境をカスタマイズする
4-1 JupyterLabの環境を作る
   JupyterLabとは
   前準備
   Jupyter Docker Stacksについて
   JupyterLabのコンテナを構成する
   コンテナ環境のユーザー情報を設定する
   認証情報を固定する
4-2 PyTorchが使えるようにする
   PyTorchとは
   ビルドされたイメージを使うようにする
   ベースになっているイメージを確認しておく
   PyTorchをインストールしたイメージをビルドする
   PyTorchが使えることを確認する
   PyTorchのコードを動かしてみる
4-3 コンテナ環境でGPU(CUDA)が使えるようにする
   CUDAとは
   NVIDIA Dockerを使ってみる
   GPUで学習処理を実行してみる
4-4 Visdomでデータを可視化できるようにする
   Visdomとは
   Visdomサーバーが動作するコンテナを定義する
   Visdomサーバーの動作を確認する
   学習処理の進捗をリアルタイムで表示させてみる
   デフォルト設定のままVisdomが使えるようにする

Chapter5 Dockerの機能を使いこなす
5-1 Dockerのイメージについて
   イメージとレイヤー
   レイヤーを調べる
   イメージサイズを最適化する
   マルチステージビルドを使う
   Alpineイメージを使う
   BuildKitを使う
5-2 エントリーポイントを使いこなす
   ENTRYPOINTとCMDの違い
   docker-entrypoint.shを用意する
   ENTRYPOINTのたたき台
   コマンドの内容を編集する
   前処理を実行させる
5-3 ボリュームとネットワーク
   Docker Desktop for Macでのボリューム共有
   インストール時に作成されるネットワーク
   独立したネットワークを利用する
   プライベートIP帯の衝突回避について

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?