このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:DockerでUbuntuを起動!コンテナ接続と操作方法

DockerでUbuntuを起動!コンテナ接続と操作方法

 ここでは、Dockerを使ってUbuntu コンテナを起動し、実際に接続・操作する方法 を体験していきます。Ubuntuは人気の高いLinuxディストリビューションで、学習や開発環境を試すのに最適です。Docker上で軽量に動作するので、仮想マシンを立ち上げるよりも手軽にUbuntuを触ることができます。

Ubuntuとは?

 Ubuntuは、Debianから派生したLinuxディストリビューションで、カノニカル社がサポートしています。

  • 半年ごとに新しいバージョンがリリースされる。
  • 安定性やセキュリティが高く、サーバーOSとしても人気
  • 名前の由来はアフリカの言葉で「他者への思いやり」
  • デスクトップOSとしての親しみやすさと、サーバー利用での信頼性を兼ね備えている。

Dockerを使えば、このUbuntuをわずか数秒で起動できます。

Ubuntuイメージの調査と取得

Ubuntuコンテナを動かすには、まずDocker Hubにイメージが存在するか確認します。

Docker Hubで「ubuntu」を検索します。

Ubuntu の Docker Official Image を選択します。

タグ一覧から「latest」を確認します。

イメージを取得するには以下のコマンドを使います。

docker image pull ubuntu

タグを省略すると latest が適用され、最新のUbuntuが取得されます。

出力例

PS C:\Users\joeac> docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
953cdd413371: Pull complete
Digest: sha256:353675e2a41babd526e2b837d7ec780c2a05bca0164f7ea5dbbd433d21d166fc
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

イメージ一覧を確認するには以下のコマンドを実行します。

docker image ls

出力例

PS C:\Users\joeac> docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       latest    353675e2a41b   11 days ago   117MB
nginx        latest    d5f28ef21aab   5 weeks ago   279MB
httpd        latest    027c678f36d3   6 weeks ago   174MB

Ubuntuコンテナの作成と実行

イメージを取得したら、コンテナを作成して起動します。

docker container run --name ubuntu_container -it -d ubuntu
部分説明
docker container runコンテナを作成して実行する。
--name ubuntu_containerコンテナ名を指定
-i標準入力を開く
-t標準入力と仮想端末(tty)を割り当てる(対話的操作用)
-it対話的に操作するための組み合わせ
-dデタッチモード(バックグラウンド実行)
ubuntu利用するイメージ

-it は「コンテナをターミナルで操作するためのお約束」と覚えておくと便利です。

出力例

PS C:\Users\joeac> docker container run --name ubuntu_container -it -d ubuntu
c8a35398851b6f8667cc169cf2d413aaf2447c68f131f84a7c442481f9ac220e

コンテナの動作状況確認

作成したコンテナが実行中かどうかは次のコマンドで確認します。

docker container ls -a

出力例

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS                    PORTS   NAMES
c8a35398851b   ubuntu    "/bin/bash"               59 seconds ago   Up 58 seconds                     ubuntu_container
9de19b972df1   httpd     "httpd-foreground"        2 hours ago      Exited (0) 2 seconds ago           webserver3
345ea0323add   nginx     "/docker-entrypoint.…"   12 hours ago      Exited (0) 12 hours ago            webserver2
bc81431c0254   nginx     "/docker-entrypoint.…"   12 hours ago      Exited (0) 12 hours ago            webserver1
PS C:\Users\joeac>
  • STATUSが Up → 実行中
  • STATUSが Exited → 停止中

コンテナへの接続方法

コンテナに接続する方法は2種類あります。

1.docker exec

コンテナ内で一時的にコマンドを実行する場合に使います。

docker exec -it ubuntu_container echo "Hello World"

出力例

PS C:\Users\joeac> docker exec -it ubuntu_container echo "Hello World"
Hello World
  • コンテナ内で echo "Hello World" が実行され、その結果だけ表示されます。
  • コンテナ自体は停止せず動作を続けます。

2.docker container attach

コンテナのターミナルに直接接続する場合に使います。

docker container attach ubuntu_container

出力例

PS C:\Users\joeac> docker container attach ubuntu_container
root@c8a35398851b:/#

ubuntu_container のターミナルに接続されます。

接続後はLinuxのコマンドを自由に実行できます。

ls コマンドを実行してみます。

root@c8a35398851b:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

/bin, /etc, /usr などUbuntuのディレクトリが一覧表示されます。

コンテナの接続を終了させるには、「exit」コマンドを使用します。

root@c8a35398851b:/# exit
exit
PS C:\Users\joeac>

ただし、この場合コンテナも停止状態(Exited)になります。

「docker container ls -a」コマンドを実行します。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS                          PORTS    NAMES
c8a35398851b   ubuntu    "/bin/bash"               17 minutes ago   Exited (0) About a minute ago            ubuntu_container
9de19b972df1   httpd     "httpd-foreground"        2 hours ago      Exited (0) 2 seconds ago                 webserver3
345ea0323add   nginx     "/docker-entrypoint.…"    12 hours ago     Exited (0) 12 hours ago                  webserver2
bc81431c0254   nginx     "/docker-entrypoint.…"    12 hours ago     Exited (0) 12 hours ago                  webserver1

コンテナの再実行

停止したコンテナは再び起動できます。

「docker start ubuntu_container」と「docker container attach ubuntu_container」コマンドを実行します。

PS C:\Users\joeac> docker start ubuntu_container
ubuntu_container
PS C:\Users\joeac> docker container attach ubuntu_container
root@c8a35398851b:/#
  • start で起動
  • attach で接続
  • exit で終了

この流れを繰り返すことで、学習や検証に活用できます。

コンテナ接続の終了とコンテナの停止

 コンテナの接続を終了させるには、「exit」コマンドを使用します。この時、コンテナも停止状態(Exited)になります。

root@c8a35398851b:/# exit
exit
PS C:\Users\joeac>

主なコマンドとオプションの整理

コマンド説明
docker image pull ubuntuUbuntuイメージを取得する。
docker image lsイメージの一覧を表示する。
docker container run --name NAME -it -d ubuntuコンテナを作成して起動する。
docker container ls -aコンテナの状態を確認する。
docker exec -it NAME コマンド稼働中のコンテナで一時的にコマンドを実行
docker container attach NAMEコンテナにターミナル接続
docker stop NAMEコンテナを停止する。
docker start NAME停止中のコンテナを再起動する。
オプション説明
-i標準入力を開く
-t仮想端末(tty)を割り当てる。
-it対話的にコンテナを操作する。
-dデタッチモード(バックグラウンド実行)
--nameコンテナ名を指定する。

まとめ

Dockerを使えば、わずか数秒でUbuntu環境を起動して操作できます。

  • exec でコマンドを実行
  • attach でターミナル操作
  • exit で終了
  • start で再起動

これらの基本操作を押さえておけば、Ubuntuの学習や検証環境を簡単に構築できます。