Podman : Dockerfile を利用する2022/03/14 |
Dockerfile を利用してコンテナーイメージを作成し、コンテナーを実行します。
Dockerfile にはコンテナーの構成内容をまとめて記述するため、構成管理にも役立ちます。 |
|
[1] | 例として、Nginx のインストールと起動を行う Dockerfile を作成します。 |
[root@dlp ~]#
vi Dockerfile # 新規作成 FROM centos:stream9 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/centos-nginx:latest . STEP 1/6: FROM centos:stream9 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/centos-nginx:latest --> 762eb0a249a Successfully tagged srv.world/centos-nginx:latest 762eb0a249a51c7e9fbc1c524207011bba773f7757e6140cdd4aa19eec8f83cf[root@dlp ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/centos-nginx latest 762eb0a249a5 26 seconds ago 247 MB srv.world/centos-httpd latest 0c6c507d6e95 7 minutes ago 253 MB quay.io/centos/centos stream9 44ffcc4acee8 3 days ago 152 MB # コンテナー起動 [root@dlp ~]# podman run -d -p 80:80 srv.world/centos-nginx 42707c810650c3b7f717226c3e827fdba913514341856993e746aaec698f3652[root@dlp ~]# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 42707c810650 srv.world/centos-nginx:latest /usr/sbin/nginx -... 7 seconds ago Up 8 seconds ago 0.0.0.0:80->80/tcp stoic_boyd # アクセス確認 [root@dlp ~]# curl localhost Dockerfile Test on Nginx # コンテナーネットワーク経由でもアクセス可 [root@dlp ~]# podman inspect -l | grep \"IPAddress "IPAddress": "10.88.0.13", "IPAddress": "10.88.0.13",[root@dlp ~]# curl 10.88.0.13 Dockerfile Test on Nginx |
Docker ファイルでの記述フォーマットは [INSTRUCTION arguments] (指示 引数) の形となっており、INSTRUCTION
には主に下記のような種類があります。なお、INSTRUCTION の必須項目は FROM のみで、その他は任意です。FROM
が指定されていれば Docker ファイルは動作します。
|
Sponsored Link |