【Docker速攻入門】まずは体験、Dockerでubuntuを起動してみる。

2021年2月9日

以下の記事ではDockeをインストールして動作確認を行ってみました。

動作確認として「hello-world」を動かしてみました。

「hello-world」が表示出来ただけでは今一つピンと来ないと思います。

Dockerがどのようなことが出来るのかは実際に色々と体験してみるのが手っ取り早いです。

ということで、Dockerでubuntuを動かしてみたいと思います。

目次

1.ubuntuを起動する。

まずコマンドプロンプトを起動して以下のコマンドを入力してください。

docker run -it ubuntu bash

すると以下のようにubuntuを使ったことのある人にはお馴染みのプロンプト(linuxのコマンド入力待ち)が表示されます。

C:\Users\user01>docker run -it ubuntu bash
root@3c948ebee62b:/#

何かコマンドを入力してみましょう。
例えば「whoami」コマンドを入力してみると・・

root@3c948ebee62b:/# whoami
root
root@3c948ebee62b:/#

コマンドが実行されて結果が「root」と表示されました。

このように先ほど入力した「docker run -it ubuntu bash」という短いコマンドでWindows上にubuntuマシンが起動して動いているわけです。

スポンサードサーチ

2.起動したubuntuでコマンドを実行してみる

ダウンロードしてきたubuntuのイメージには最低限のモジュールのみで構成されています。

従って必要なコマンドやサービス、アプリケーションは自分でインストールや設定を行う必要があります。

・必要なコマンドを追加する

実際にIPアドレスを調べるコマンドを実行してみましょう。

次のコマンドを打ち込んでみて下さい。

ip addr show

通常なら IPアドレスが表示されるはずですが、「bash: ip: command not found」となってしまいます。
先ほど述べたように今回使用したコンテナイメージの「ubuntu」には最低限のコマンドしか用意されていないためです。
使いたいコマンドがあれば必要に応じて利用者がインストールする必要があります。

ということで、以下のコマンドでインストールします。

apt-get upgrade
apt-get update
apt-get install iproute2 -y

インストールが終わるのを待って再度「ip addr show」と入力してみると、、

root@2d1733cd5207:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul
t qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
19: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
 group default
    link/ether 02:42:ac:xx:xx:xx brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@2d1733cd5207:/#

今度は実行できました。

このように、色んなディストリビューションのコンテナイメージが使えるのは便利なのですが、コマンドやソフトウェアは最低限の物しか入っていないので必要なものは自分でインストールする必要があります。

 

そして、コンテナを停止して再度コンテナを起動すると、先ほどインストールしたコマンドは使えなくなってしまってます。

これは当然ながらコマンドをインストールする前のコンテナイメージを読み込んでいるからです。

起動中のubuntuを「exit」で終了してコマンドプロンプトに戻り、再度起動、IPコマンドを実行してみましょう

root@2d1733cd5207:/# exit
exit

C:\Users\user01>docker run -it ubuntu bash
root@90dfcf60bfbb:/# ip addr show
bash: ip: command not found
root@90dfcf60bfbb:/#

せっかくの作業が無駄になり、ちょっと残念な感じですね。

継続してインストールしたコマンドを使うにはどうすればいいのでしょうか。

Dockerにはカスタマイズしたコンテナイメージを保存して再利用する方法が用意されています。

次に説明する記事ではコンテナイメージを継続して再利用できる方法を紹介します。

 

スポンサードサーチ

3.まとめ

いかがでしょうか、ちょっとだけDockerがどのようなものかがお分かり頂けたと思います。

少しずつ試してみてDockerを使いこなせるように頑張ってください。



docker

Posted by garnet