LoginSignup
10
10

More than 5 years have passed since last update.

Docker 再入門2 2016

Last updated at Posted at 2016-10-24

背景

ここは前回 Docker 再入門1 2016 の続きになります。
最初のインストール方法は前回の記事で紹介してます。また基本的なコマンド例は以下のSlideShareの資料を参考にしてください。

Docker入門(再掲)

基本的なDockerの仕組みは変わらないので、入門知識は地元で実施したDocker勉強会の過去資料を考慮した前提で紹介します。情報が古いですがdockerコマンドの使い方とか基本的なことは過去資料を参照してください。

Docker 入門 (SlideShare)

動作環境(再掲)

  • ThinkPad X200s OS:Linux MINT 18
  • ThinkPad X1 Carbon OS:Windows 10 Pro (Hyper-V)

個人的に開発環境のOSはLinuxなので、MacOSやWindowsについては優先度が低いのでご了承ください。

Dockerfile

上記SlideShareの資料23ページから紹介しているDockerfileから流用して実際のDocker動作を再確認してみます。
基本的な仕組みやDockerコマンドもそちらで参照して下さい。

保存場所

さて、イメージを作成する場合にDockerfileを使用しますが、LinuxやWindowsとOSが異なっても利用出来るオンラインストレージDropboxを保存場所としてここでは使用してみます。ソースファイルが一元管理出来るので、複数の環境で開発している場合にとても便利に利用出来ます。
Dropbox自体のインストールは済ませた状態を前提とします。

Docker Imageの作成

SlideShareの資料と同じく、ディストリビューションはubuntuを使用して、webサーバーのnginxを動作させたイメージを作成します。

Linuxの場合

Dropboxの作成したディレクトリに移動しています。

$ mkdir Dropbox/docker
$ cd Dropbox/docker

適当なテキストエディタにてDockerfileを作成。

Dockerfile
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nginx
ENTRYPOINT /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf

作成したDockerfileをビルドしてイメージを作成します。

$ docker build -t nginx/ubuntu:1.0 .

少々待つとイメージが作成されますので、確認してみます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx/ubuntu        1.0                 123456789ABC        19 minutes ago      223.1 MB
ubuntu              latest              123456789ABC        10 days ago         127.2 MB
hello-world         latest              123456789ABC        3 months ago        1.848 kB

Windowsの場合

コマンドプロンプトにて、Dropboxのディレクトリに移動します。
Dockerfile自体は先にLinux側で作成されていますので共有されているはずです。

C:\Users\user\> cd Dropbox\docker\nginx
C:\Users\user\Dropbox\docker\nginx> 

同じDockerfileを使用してwindows側のDockerにもイメージを作成します。

C:\Users\user\Dropbox\docker\nginx> docker build -t nginx/ubuntu:1.0 .

少々待つとイメージが作成されますので、確認してみます。

C:\Users\user\Dropbox\docker\nginx> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx/ubuntu        1.0                 123456789ABC        19 minutes ago      223.1 MB
ubuntu              latest              123456789ABC        10 days ago         127.2 MB
hello-world         latest              123456789ABC        3 months ago        1.848 kB

この様にオンラインストレージのDropboxを利用するとDockerfileのソースファイルを異なるOS環境でも共有出来ます。

Docker Imageの起動と動作確認

作成したイメージを実行してnginxの動作を確認してみましょう。

Linuxの場合

イメージはリポジトリ名とタグを指定して、サービスポートはローカルの80番を利用します。

$ docker run -d -p 80:80 nginx/ubuntu:1.0

状態確認してプロセスがあればサービスが起動しています。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
abcdefghijkl        nginx/ubuntu:1.0    "/bin/sh -c '/usr/sbi"   19 minutes ago      Up 5 seconds        0.0.0.0:80->80/tcp   cranky_hugle

curlコマンドやwebブラウザでnginxのwelcomeメッセージが表示されるはずです。

$ curl localhost:80

Windowsの場合

Linuxと同じようにコマンドプロンプトにてイメージファイルを実行します。

C:\Users\user\Dropbox\docker\nginx> docker run -d -p 80:80 nginx/ubuntu:1.0

状態確認してプロセスがあればサービスが起動しています。

C:\Users\user\Dropbox\docker\nginx> docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
abcdefghijkl        nginx/ubuntu:1.0    "/bin/sh -c '/usr/sbi"   19 minutes ago      Up 5 seconds        0.0.0.0:80->80/tcp   cranky_hugle

webブラウザでnginxのwelcomeメッセージが表示されるはずです。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10