0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CKAD) Dockerfile コマンド解説

Posted at

Dockerfileの定義

  • コンテナビルドのためのコマンドの集合
  • イメージ生成のための要素
Dockerfile コマンド 内容
FROM コンテナの基本になるイメージ(運営環境)
LABEL コンテナビルドの情報、バージョンなどの情報を提供
RUN コンテナビルドのビルドのため、イメージから実行するコマンド
ADD コンテナのビルド時に、ホストのファイル(tar, urlなど)をコンテナにコピー
COPY コンテナのビルド時に、ホストのファイルをコンテナにコピー
WORKDIR コンテナビルド時にコマンドを実行するコマンドDirectoryを設定
ENV 環境変数の設定
USER コンテナおよび、コンテナを実行時に適応するユーザ設定
EXPOSE コンテナ実行時に外部から実行するポートの指定
CMD コンテナ動作時に自動て実行するサービスやスクリプトの指定
ENTRYPOINT CMDと一緒に利用し、COMMAND指定時に利用

例1

FROM centos:7.5.1804
RUN yum install httpd -y
RUN echo "hello world" > /var/www/html/index.html
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]

例2

  • 次の条件でappjs:latestコンテナをビルドしなさい
    • ビルドDirectory: ~/app_build/appjs
    • /data/ckad/app.jsのファイルを~/app_build/appjsに移動した上で、次の条件に合わせてコンテナをビルドしなさい
      • base image: node:12
      • app.jsファイルをコンテナ/Directroyにコピー
      • コンテナ実行時にnodeapp.jsが実行されるべき
FROM node:12
COPY app.js /
ENTRYPOINT ["node", "app.js"] 
# CMD ENTRYPOINT ["node", "app.js"]

Docker iamge の作成

docker build -t appjs:latest .
docker run --name appjs -p 8080:8080 -d appjs
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?