DOCKERでCMDコマンドを仕込んでみる。

DOCKERでRUNコマンドを仕込んでみる。 | 自分、ぼっちですが何か? (taki-lab.site)

今回はコンテナ起動時にコマンドを実行するように仕込むやり方です。

サンプルとして、nginxを起動させる方法をやってみます。

プロジェクト構成

Dockerfile

FROM ubuntu:20.04

RUN apt-get update && apt-get install -y \
    nginx \
    tzdata\
    && rm -rf /var/lib/apt/lists/*

ENV TZ=Asia/Tokyo

EXPOSE 80

COPY src/index.html /var/www/html/

CMD ["nginx", "-g", "daemon off;"]

最後にCMDコマンドがあるのですが、

これを記述すると、コンテナ起動時に,コマンド

nginx -g daemon off

が実行されます。

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content =" width = device-width, initial-scale=1.0">
    <title>Sample</title>
</head></head>
<body>
    <h1>こんにちは! Docker! </h1>
    <p id="msg"></p>

    <script language="javascript" type="text/javascript">
        const msg = document.getElementById("msg");

        var now = new Date();
        var y = now.getFullYear();
        var m = now.getMonth() + 1;
        var d = now.getDate();
        var h = now.getHours();
        var mi = now.getMinutes();
        var s = now.getSeconds();

        msg.innerHTML = `ただ今の日時は${y}/${m}/${d} ${h}:${mi}:${s} です!`;
    </script>
</body>
</html>

イメージのビルド

~/dockerenv/ex03$ docker image build -t ex03/nginx:1.0 .

コンテナ起動

~/dockerenv/ex03$ docker run --name ex03_websv -d --rm -p 8080:80 ex03/nginx:1.0

「DOCKERでCMDコマンドを仕込んでみる。」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください