Podman : Dockerfile を利用する2023/03/01 |
Dockerfile を利用してコンテナーイメージを作成し、コンテナーを実行します。
Dockerfile にはコンテナーの構成内容をまとめて記述するため、構成管理にも役立ちます。 |
|
[1] | 例として、Nginx のインストールと起動を行う Dockerfile を作成します。 |
[root@dlp ~]#
vi Dockerfile # 新規作成 FROM almalinux MAINTAINER ServerWorld <admin@srv.world> RUN dnf -y install nginx RUN echo "Dockerfile Test on Nginx" > /usr/share/nginx/html/index.html EXPOSE 80 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] # イメージのビルド ⇒ podman build -t [イメージ名]:[タグ] . [root@dlp ~]# podman build -t srv.world/almalinux-nginx:latest . STEP 1/6: FROM almalinux STEP 2/6: MAINTAINER ServerWorld <admin@srv.world> --> 10096b868a1 STEP 3/6: RUN dnf -y install nginx ..... ..... STEP 5/6: EXPOSE 80 --> 6b26f04ed36 STEP 6/6: CMD ["/usr/sbin/nginx", "-g", "daemon off;"] COMMIT srv.world/almalinux-nginx:latest --> 762eb0a249a Successfully tagged srv.world/almalinux-nginx:latest f556ccecaed8b13774c3a17270924a16d71afb25611021a0f2034b87dd56e8d2[root@dlp ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/almalinux-nginx latest f556ccecaed8 56 seconds ago 310 MB srv.world/almalinux-httpd latest ffd19e5b5339 10 minutes ago 251 MB docker.io/library/almalinux latest d3ffa43c2567 6 days ago 196 MB # コンテナー起動 [root@dlp ~]# podman run -d -p 80:80 srv.world/almalinux-nginx 9dfa7f239072d74ab069dc1eff3c771c61db8eefdbab06dd34c6ad08846a5271[root@dlp ~]# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dfa7f239072 srv.world/almalinux-nginx:latest /usr/sbin/nginx -... 12 seconds ago Up 13 seconds ago 0.0.0.0:80->80/tcp wizardly_lumiere # アクセス確認 [root@dlp ~]# curl localhost Dockerfile Test on Nginx # コンテナーネットワーク経由でもアクセス可 [root@dlp ~]# podman inspect -l | grep \"IPAddress "IPAddress": "10.88.0.10", "IPAddress": "10.88.0.10",[root@dlp ~]# curl 10.88.0.10 Dockerfile Test on Nginx |
Docker ファイルでの記述フォーマットは [INSTRUCTION arguments] (指示 引数) の形となっており、INSTRUCTION
には主に下記のような種類があります。なお、INSTRUCTION の必須項目は FROM のみで、その他は任意です。FROM
が指定されていれば Docker ファイルは動作します。
|
Sponsored Link |