Docker

UbuntuのDockerイメージでシェルスクリプトを実行してみた

Docker公式のDockerレジストリ「Docker Hub」には、さまざまなDockerイメージが格納されている。

今回は、UbuntuのDockerイメージを利用して、コマンドやシェルスクリプトを実行してみたので、その手順を共有する。

今回は、UbuntuのDockerイメージを利用して、コマンドやシェルスクリプトを実行してみたので、その手順を共有する。
https://hub.docker.com/_/ubuntu

Dockerイメージ_ubuntu

前提条件

以下の手順に従って、Windows端末上に、Docker Desktopをインストール済であること。

Windows端末上に「Docker Desktop」をインストールしてみた「Docker Desktop」とは、ローカル環境にDockerコンテナを用いた開発環境を導入するためのソフトウェアのことをいう。今回は...

やってみたこと

  1. Ubuntu Dockerコンテナの作成・起動
  2. Ubuntu Dockerコンテナ上でのシェルスクリプト実行

Ubuntu Dockerコンテナの作成・起動

Ubuntu Dockerコンテナを作成・起動し、コマンドを実行する。その手順は、以下の通り。

1)「docker container run -it -d ubuntu:24.10」を実行し、Ubuntu Dockerコンテナを作成・起動する。
Ubuntu Dockerコンテナの作成・起動_1

なお、オプション「-it」で、コンテナがすぐに終了しないようにし、オプション「-d」で、コンテナをバックグラウンドで起動するようにしている。また、Dockerイメージ名(ubuntu)に加え、タグ名(24.10)も指定するようにしている。

Dockerコンテナのコマンドについては、以下のサイトを参照のこと。
https://zenn.dev/isi00141/articles/2b50dbbd2708b7

2)「docker container ls」コマンドで、1)のUbuntu Dockerコンテナが起動していることが確認できる。
Ubuntu Dockerコンテナの作成・起動_2_1

Docker Desktop上でも、以下のように、1)のUbuntu Dockerコンテナの起動が確認できる。
Ubuntu Dockerコンテナの作成・起動_2_2

3)「docker exec -it (コンテナID) /bin/bash」を実行すると、以下のように、1)のUbuntu Dockerコンテナにログインすることができる。
Ubuntu Dockerコンテナの作成・起動_3

4) 1)のUbuntu Dockerコンテナ内で、いくつかコマンドを実行する。
Ubuntu Dockerコンテナの作成・起動_4

5) exitコマンドを実行すると、以下のように、1)のUbuntu Dockerコンテナからログアウトできる。
Ubuntu Dockerコンテナの作成・起動_5

6) 1)のUbuntu Dockerコンテナを停止するには、「docker container stop (コンテナID)」コマンドを実行する。その際に指定する(コンテナID)は、「docker container ls」コマンドを実行した時に確認できる。
Ubuntu Dockerコンテナの作成・起動_6_1

Docker Desktop上でも、以下のように、1)のUbuntu Dockerコンテナの停止が確認できる。
Ubuntu Dockerコンテナの作成・起動_6_2



「HD Video Converter Factory Pro」は動画の形式変換や編集・録画等を行える便利ツールだった動画の形式変換や編集・録画等を行える便利ツールの一つに、「HD Video Converter Factory Pro」があります。ここ...

Ubuntu Dockerコンテナ上でのシェルスクリプト実行

Ubuntu Dockerコンテナを起動するタイミングで、指定したシェルスクリプトを実行できるようにする。その手順は、以下の通り。

1) 以下のように、特定のフォルダ内で「Dockerfile」と、コンテナを起動するタイミングで実行するシェルスクリプト「docker-entrypoint.sh」を配置する。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_1_1

それぞれのファイルの中身は以下の通りで、docket-entrypoint.shは、Ubuntu上で動かせるよう、文字コードをUTF-8・改行コードをLFとしている。

<Dockerfile>
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_1_2

<docker-entrypoint.sh>
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_1_3

2) コマンドプロンプトを起動し、「Dockerfile」「docker-entrypoint.sh」が入っているフォルダに移動する。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_2

3)「docker build -t (Dockerイメージ名) (Dockerfileのパス)」コマンドを実行し、Dockerfileに従ったDockerイメージを作成する。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_3

4)「docker image ls」コマンドで、3)で作成されたDockerイメージを確認する。また、「docker container ls -a」コマンドで、3)で作成したDockerイメージをベースとしたDockerコンテナが起動していないことを確認する。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_4_1

Docker Desktop上でも、以下のように、3)で作成されたDockerイメージが確認できる。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_4_2

5)「docker container run (イメージ名)」コマンドで、3)で作成したDockerイメージをベースとしたDockerコンテナを作成・起動すると、以下のように、Dockerコンテナが起動したタイミングで、DockerfileのENTRYPOINTで指定したシェルスクリプト(docker-entrypoint.sh)が実行されたことが確認できる。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_5

6)「Docker container ls -a」コマンドを実行すると、5)で起動したDockerコンテナが既に停止しているのが確認できる。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_6_1

Docker Desktop上でも、以下のように、5)のDockerコンテナの停止が確認できる。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_6_2

7)「docker container start -i (コンテナID)」コマンドを実行すると、5)で作成・起動したDockerコンテナを再度実行できることが確認できる。
Ubuntu Dockerコンテナ上でのシェルスクリプト実行_7

要点まとめ

  • Docker公式のDockerレジストリ「Docker Hub」には、さまざまなDockerイメージが格納されている。
  • UbuntuのDockerイメージを利用すると、コマンドやシェルスクリプトの実行を行うことができる。