はじめに
このところ人気のdocker。そろそろ使ってみようと思い環境構築してみました。
dockerとは?という話は他に沢山記事があると思うので割愛して、ここではNWに接続されていないオフライン環境への構築方法にフォーカスしていきたいと思います。
また後述しますが、オフライン環境へdockerイメージ持っていくために、オンライン環境にもdockerの構築が必要です。あらかじめ導入しておいてください。
※オンライン環境への導入は下記の記事が参考になりました。
CentOS7にDockerをインストールする
前提環境
・CentOS 7 64bit
・Linuxカーネル3.10以上であること ※カーネルバージョンが古いと動作しなかったので注意
必要資材
オンライン環境で下記資材を調達し、オフライン環境へコピーしてください。
【docker本体】
https://download.docker.com/linux/static/stable/x86_64/
・docker-17.09.1-ce.tgz (執筆時点の最新バージョン)
【docker-compose】
https://docs.docker.com/compose/install/
・docker-compose
下記コマンドでcurlして取得してください。
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o [適当なworkディレクトリ]
docker構築手順
いよいよdocker本体とdocker-composeの導入です。と言っても必要資材を展開するだけですが、、
tar zxvf docker-17.09.1-ce.tgz # docker本体の解凍
cp docker/* /usr/bin # bin配下にdocker資材を展開
dockerd & # プロセスを起動する
ps -ef | grep [d]ocker # dockerプロセスが起動していることを確認する
cp docker-compose /usr/local/bin/ # bin配下にdocker-composeをコピー
sudo chmod +x /usr/local/bin/docker-compose # 実行権限を付与
docker-compose -v # バージョンが表示されること
問題なく導入できたでしょうか。
次にオフライン環境にdockerイメージファイルを持っていく手順を説明していきます。
dockerイメージファイルのコピー
オフライン環境にイメージを持っていく流れは下記の通りになります。
--オンライン環境--
- dockerイメージをdocker hubからpull
- イメージをtarファイルとしてsave
--オフライン環境--
3. オフライン環境にtarファイルをコピー
4. イメージファイルをload
順に追っていきます。
# hello-worldのdockerイメージを例に取り上げる
docker pull hello-world:latest # イメージをpull
docker images # イメージがpullできたか確認
docker save hello-world > helloworld_img # イメージをsave
tar zcvf helloworld_img.tar.gz helloworld_img # tar.gzに圧縮
# helloworld_img.tar.gzをオフライン環境にコピーする
tar zxvf helloworld_img.tar.gz # tar.gzの解凍
docker load < helloworld_img # dockerイメージをload
docker images # hello-worldイメージが存在することを確認
これでオフライン環境にイメージファイルを持ってくることに成功しました。
インターネットが使用できない山奥でもdockerライフを満喫できますね!
docker UIの導入
dockerはCUIでも比較的容易に操作できますが、わかりにくいのでGUIで操作したい!という方はdocker UIを導入するのが良いかと思います。
導入手順は別記事にまとめてあるので参考にしてください。