Podman : Dockerfile を利用する2025/10/31 |
|
Dockerfile を利用してコンテナーイメージを作成し、コンテナーを実行します。 |
|
| [1] | 例として、Nginx のインストールと起動を行う Dockerfile を作成します。 |
|
dlp:~ #
vi Dockerfile # 新規作成 FROM opensuse/leap LABEL Maintainer "ServerWorld <admin@srv.world>" RUN zypper -n install nginx RUN echo "Dockerfile Test on Nginx" > /srv/www/htdocs/index.html EXPOSE 80 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] # イメージのビルド ⇒ podman build -t [イメージ名]:[タグ] . dlp:~ # podman build -t srv.world/suse-nginx:latest . STEP 1/6: FROM opensuse/leap STEP 2/6: LABEL Maintainer "ServerWorld <admin@srv.world>" --> f5614904d2dc STEP 3/6: RUN zypper -n install nginx ..... ..... STEP 5/6: EXPOSE 80 --> a9e3540c2ac2 STEP 6/6: CMD ["/usr/sbin/nginx", "-g", "daemon off;"] COMMIT srv.world/suse-nginx:latest --> 2f5e96e113e4 Successfully tagged srv.world/suse-nginx:latest 2f5e96e113e4efd8172563bfb84ca183b74a800ef3d8610e5b22516f0054db13dlp:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/suse-nginx latest 2f5e96e113e4 24 seconds ago 439 MB srv.world/suse-httpd latest 155ffb9ef27d 11 minutes ago 393 MB registry.opensuse.org/opensuse/leap latest 004d9956dc10 2 weeks ago 118 MB # コンテナー起動 dlp:~ # podman run -d -p 80:80 srv.world/suse-nginx 65c42439c790745fd5301d8c944ebbe00bc81508a6d0f5818ae1c80a0a16dce8dlp:~ # podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 65c42439c790 srv.world/suse-nginx:latest /usr/sbin/nginx -... 11 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp objective_torvalds # アクセス確認 dlp:~ # curl localhost Dockerfile Test on Nginx # コンテナーネットワーク経由でもアクセス可 dlp:~ # podman inspect -l | grep \"IPAddress
"IPAddress": "10.88.0.10",
"IPAddress": "10.88.0.10",
dlp:~ # curl 10.88.0.10 Dockerfile Test on Nginx |
Docker ファイルでの記述フォーマットは [INSTRUCTION arguments] (指示 引数) の形となっており、INSTRUCTION
には主に下記のような種類があります。なお、INSTRUCTION の必須項目は FROM のみで、その他は任意です。FROM
が指定されていれば Docker ファイルは動作します。
|
| Sponsored Link |
|
|